【问题标题】:Admin form for custom User in djangodjango中自定义用户的管理表单
【发布时间】:2019-08-07 08:33:23
【问题描述】:

我正在用 django 编写我的第一个项目。我需要创建几种具有不同字段的用户。我已经创建了与用户 1-1 关系的客户端类,并尝试为其创建管理表单

models.py

class Client(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete="CASCADE")
    new_field = models.CharField("New field", max_length=30)

我正在尝试在 django admin 中创建表单来管理具有内嵌用户字段的客户端实例。

admin.py

class UserInline(admin.StackedInline):
    model = User


class ClientAdmin(admin.ModelAdmin):
    class Meta:
        model = Client
        fields = '__all__'


class ExtendedClientAdmin(ClientAdmin):
    inlines = ClientAdmin.inlines + [UserInline]


admin.site.register(Client, ExtendedClientAdmin)

但我收到以下错误:

Performing system checks...

Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x000001B23F18B0D0>
Traceback (most recent call last):
  File "C:\work\test\vevn\lib\site-packages\django\utils\autoreload.py", line 225, in wrapper
    fn(*args, **kwargs)
  File "C:\work\test\vevn\lib\site-packages\django\core\management\commands\runserver.py", line 117, in inner_run
    self.check(display_num_errors=True)
  File "C:\work\test\vevn\lib\site-packages\django\core\management\base.py", line 425, in check
    raise SystemCheckError(msg)
django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:

ERRORS:
<class 'backoffice.admin.UserInline'>: (admin.E202) 'auth.User' has no ForeignKey to 'backoffice.Client'.

System check identified 1 issue (0 silenced).

我应该如何为客户管理员创建带有内联用户字段的表单?

【问题讨论】:

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


    【解决方案1】:

    也许你必须先做:

    python manage.py makemigrations
    python manage.py migrate
    

    为了将您的更改映射到数据库

    【讨论】:

      猜你喜欢
      • 2011-05-03
      • 2020-07-03
      • 2013-08-26
      • 1970-01-01
      • 2012-03-26
      • 1970-01-01
      • 1970-01-01
      • 2011-10-12
      • 1970-01-01
      相关资源
      最近更新 更多