如何在 django 用户表中添加列并直接从管理页面访问它?

我看过这个问题的很多答案,但没有一个有效。

class userLogin(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    isManager = models.BooleanField(default=True)

我已经执行了命令python manage.py migratepython manage.py makemigrations

命令已成功执行。我在终端中收到了“确定并更改日志”。

如果我单击管理页面上的“添加用户”,我将看不到isManager该用户的字段。

我在settings.py中添加了triend AUTH_USER_MODEL = 'app.userLogin'

编辑1:我已admin.site.register(userLogin)在admin.py中添加

编辑 2:我能够创建标志并且我有一张桌子。如果我将标志设置为 true,那么我可以看到表中的条目。但是如果我不选择该标志(即 False),我将看不到表中的条目。


慕桂英4014372
浏览 93回答 1
1回答

慕丝7291255

您所做的只会在数据库中创建一个新的模型表,该表具有用户表的外键。该表将对您的管理员隐藏,直到您以某种方式注册为止。因此,您要么需要在管理中单独注册该表,要么需要为此创建一个 Django 内联管理类并从用户管理的 inlines 变量中引用它。如果您在设置中选择 AUTH_USER_MODEL 路径,那么您将覆盖原始的 Django 用户模型,这意味着您不需要这个与其具有一对一关系的单独模型。使用其中一种方法,但不能同时使用两种方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python