【问题标题】:Django admin How to solve the problem that all parts are not visible?Django admin 如何解决所有部分不可见的问题?
【发布时间】:2020-12-25 08:31:10
【问题描述】:

我用 Django 创建了一个系统。我创建了一个带有一些自定义字段的抽象用户模型。我的表单正在运行,但在管理页面中我看不到我的自定义模型。

models.py

class UserProfile(AbstractUser):
    ranks = (
        ...
        ('cfo', 'Chief Financial Officier'),
    )
    comp_name = models.CharField(max_length=200, default="Choose")
    user_id = models.UUIDField(default=uuid.uuid4(), editable=False, unique=True)
    username = models.CharField(max_length=500, unique=True)
    first_name = models.CharField(max_length=200)
    last_name = models.CharField(max_length=200)
    password = models.CharField(max_length=50)
    email = models.EmailField(max_length=254)
    rank = models.CharField(max_length=200, choices=ranks)

    def __str__(self):
        return self.username

class CompanyProfile(models.Model):
...

admin.py

    admin.site.register(CompanyProfile)


class CustomUser(UserAdmin):
    add_form = SignUpForm
    model = UserProfile
    form = SignUpChangeForm
    list_display = ('username', 'first_name', 'email', 'last_name', 'rank', 'comp_name')
    fieldsets = (
        (None, {'fields': ('email', 'password')}),
       
    )
    add_fieldsets = (
        (None, {
            'classes': ('wide',),
            'fields': ('email', 'password1', 'password2', 'rank', 'comp_name')}
         ),
    )
    search_fields = 'email'


admin.site.register(UserProfile, UserAdmin)

正如您在管理视图中所见,没有 rankscompany name 字段。我该如何解决?

【问题讨论】:

    标签: python django django-models django-admin


    【解决方案1】:

    您也应该将它们添加到字段集中,来自the docs

    注意: 如果您使用的是 django.contrib.auth.admin.UserAdmin 的子类的自定义 ModelAdmin,那么您需要将自定义字段添加到字段集(用于编辑用户的字段)和 add_fieldsets(用于创建用户时使用)。例如:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-25
      • 2016-08-08
      • 2017-12-31
      • 1970-01-01
      • 1970-01-01
      • 2013-11-25
      • 2020-05-29
      • 2021-07-26
      相关资源
      最近更新 更多