如何在第一次创建Django超级用户时使用外键

21 浏览
0 Comments

如何在第一次创建Django超级用户时使用外键

我已经开始了一个django项目,通过从AbstractUser扩展User模型到我的自定义模型,并与其他模型建立了外键关系。当我尝试使用manage.py创建超级用户时,它不会为测试创建超级用户,而是给出IntegrityError。我知道RoleModel中没有记录,那么我该如何处理这种情况。当老师注册网站时,我将获取角色信息。任何帮助将不胜感激。

0
0 Comments

最初,你想要做什么,扩展还是自定义用户模型?

如果你想要扩展... 只需要一个外键就足够了。对于这个,Django项目建议使用OneToOneField(User)

你可以在RoleModel中使用OneToOneField(TeacherModel)。

在这种情况下,请参阅下面的链接。

https://docs.djangoproject.com/en/2.1/topics/auth/customizing/#extending-the-existing-user-model

另一方面,如果你想要自定义用户模型,在进行迁移之前,你必须先这样做。初始设置必须包含你的自定义内容。你可以为用户模型自定义创建一个应用。

在这种情况下,请参阅下面的链接。

https://docs.djangoproject.com/en/2.1/topics/auth/customizing/#substituting-a-custom-user-model

https://wsvincent.com/django-tips-custom-user-model/

希望对你有所帮助。

0
0 Comments

在Django中创建第一个具有外键的超级用户的时候,可能会遇到IntegrityError异常。这个异常是当数据库的关系完整性受到影响时触发的,比如外键检查失败、重复键等情况。

解决方法是通过以下步骤来创建具有外键的超级用户:

1. 在终端或命令行中进入Django项目的根目录。

2. 运行以下命令创建超级用户:

python manage.py createsuperuser

3. 按照提示输入用户名、电子邮件和密码。

4. 当提示输入是否为staff(员工)时,输入“yes”表示是员工。

5. 当提示输入是否为superuser(超级用户)时,输入“yes”表示是超级用户。

6. 当提示输入相关联的外键值时,输入相应的值。

通过以上步骤,我们可以成功创建具有外键的超级用户,并且保证数据库关系的完整性。如果在创建过程中遇到IntegrityError异常,可以参考以下链接的答案进行解决:IntegrityError in Django

0
0 Comments

在Django中,创建第一个具有外键的超级用户的问题主要出现在需要在使用createsuperuser管理命令创建超级用户时,添加额外字段。解决这个问题的方法如下:

首先,需要在AbstractUser类上添加REQUIRED_FIELDS列表,其中包含了在创建超级用户时要求用户输入的额外字段。可以在文档中找到更详细的信息。

其次,需要在自定义用户模型上创建和使用自定义的UserManager,该UserManager可以处理在创建新用户时添加到用户模型中的额外字段。可以参考Django的GitHub提交,该提交介绍了如何实现这个功能。代码非常简单易懂。

此外,为了使所有功能正常工作,可能还需要进行一些其他的自定义。可以在Django文档中找到一个完整的示例。

以上方法可以解决在Django中创建第一个具有外键的超级用户的问题。

0