【问题标题】:Django admin page not showing user modelsDjango 管理页面未显示用户模型
【发布时间】:2024-11-12 06:45:02
【问题描述】:

我的管理页面工作正常,但登录时没有显示任何用户模型。它阻碍了我的工作,因为我无法管理用户。 我已经制作了如下所示的自定义模型。 数据库是 MySQL。

models.py

class User(AbstractUser):
    is_customer = models.BooleanField(default=False)
    is_restaurant = models.BooleanField(default=False)
    first_name = models.CharField(max_length=100)
    last_name = models.CharField(max_length=100)


class Customer(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
    food_pref = models.CharField(max_length=10, default='veg')


class Restaurant(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
    restaurant_name = models.CharField(max_length=100, blank=False)

【问题讨论】:

    标签: python django django-models django-forms django-admin


    【解决方案1】:

    admin.py 文件中注册您的模型。

    from . models import Model_Name
    

    然后您可以通过两种方式注册您的模型: 一)admin.site.register(Model_Name) 二)

    @admin.register(Model_Name)
    Class Xyz(admin.ModelAdmin):
        pass
    

    第二种方法为您提供更大的灵活性,例如 list_display, list_filter, date_hierarchy, etc.,用于自定义您的管理部分/站点。

    您可以在https://docs.djangoproject.com/en/3.0/ref/contrib/admin/#module-django.contrib.admin查看更多关于自定义管理站点的信息

    【讨论】:

      【解决方案2】:

      你在 admin.py 中注册了吗?

      from .models import ModelName
      
      admin.site.register(ModelName)
      

      【讨论】:

        最近更新 更多