在Djang中创建自定义用户模型的新实例

2024-04-25 09:11:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个模型,它是django1.8中用户模型的扩展。我还为此连接到一个MySQL数据库。你知道吗

class LibraryUser(models.Model):
  user_id = models.OneToOneField(User)
  is_catalogue_subscriber = models.BooleanField(default=True)
  is_research_subscriber = models.BooleanField(default=True)
  library_membership_number = models.CharField(max_length=64)

当然,我扩展User模型的原因是使用身份验证框架。你知道吗

现在,我想创建一个新的LibraryUser,使用library_membership_number作为登录用户名。我该怎么做?我是否先创建User,然后引用LibraryUser?你知道吗

ie给定的some_变量要么由POST接收要么由用户迁移到新表

u = User.objects.create_user(email=some_email, password=some_password)
lu = LibraryUser(library_membership_number, user_id = u.id)
lu.save()

还是有正确的方法?尝试在网上查找,但找不到特别解决此问题的内容。你知道吗


Tags: 用户模型iddefaultnumberismodelslibrary
1条回答
网友
1楼 · 发布于 2024-04-25 09:11:21

应按以下方式为指定字段赋值:

lu = LibraryUser(library_membership_number= '...', user_id = user)
lu.save()
  • library_membership_number

    不能只给library_membership_number赋值。model是包含字段的对象。您应该指定字段并分配它:library_membership_number= '...',或者model无法解析要存储的字段。

  • user_id

    它预先定义了foreignkey。它可以接受另一个model对象来存储:user_id = user。不要调用user的属性来存储在LibraryUser

相关问题 更多 >