我有一个list
表,它与默认的Django UserProfile
表有关。这是它的外观。
User
我正在尝试使用class UserProfile(models.Model):
user = user.OneToOneField(User, on_delete=models.CASCADE)
section = models.CharField(max_length=255, blank=True)
year = models.IntegerField(null=True, blank=True)
course = models.CharField(max_length=255, blank=True)
qrcode = models.CharField(max_length=255, blank=True)
present = models.BooleanField(default=False)
将数据插入UserProfile表。
Django Shell
这就是我一直知道的将数据插入表中的方式,它一直都有效。但是,当我尝试在from users.models import UserProfile
a = UserProfile(qrcode="hello")
a.save()
模型中执行此操作时。我得到这个例外。 NOT NULL约束失败:users_userprofile.user_id 。这又是由以下异常格式错误引起的:RelatedObjectDoesNotExist:UserProfile没有用户。
我有点理解,我需要以某种方式提供一个用户实例。但是我对如何一无所知。有人可以帮帮我吗。
答案 0 :(得分:1)
首先,您需要创建用户。
u1 = User(username='user1')
u1.save()
创建一个UserProfile。将“父”对象的ID传递为该对象的ID:
v1 = UserProfile(user=u1, ....)
v1.save()
推荐this
答案 1 :(得分:0)
您需要先创建您的用户
user = User.objects.create(username='user')
然后您可以执行以下操作:
user_profile = UserProfile.objects.create(user=user, ...)