gpt4 book ai didi

python - Django 完整性错误 "Column 'section_id' 不能为空”

转载 作者:行者123 更新时间:2023-11-29 18:21:08 24 4
gpt4 key购买 nike

我在 Django 中看到了很多关于此错误的问题,但我很困惑,因为据我所知,我的数据库中没有表有 section_id 列。当用户尝试注册并且 views.py 尝试创建用户时,我收到错误。我最近更改了应用程序中的“Profile”模型(Profile 对象与 User 对象一起自动创建),以具有 section 属性而不是section_id 属性,但我多次重置迁移并重新创建数据库。我认为这可能是迁移的问题,但我真的不知道。

以下是曾经具有 section_id 属性的配置文件模型:

class Profile(models.Model):
"""
An extension of the built-in Django user model to allow for the different types of users
"""
USER_TYPES = (
('S', 'Student'),
('I', 'Instructor'),
('C', 'Client')
)
user = models.OneToOneField(User, on_delete=models.CASCADE)
user_type = models.CharField(max_length=1, choices=USER_TYPES)
section = models.ForeignKey(Section, default=None)

@receiver(post_save, sender=User)
def create_user_profile(sender, instance, created, **kwargs):
if created:
Profile.objects.create(user=instance)

@receiver(post_save, sender=User)
def save_user_profile(sender, instance, **kwargs):
if instance.is_staff != 1:
instance.profile.save()

这是引发错误的代码:

new_user = User.objects.create_user(email, email=email, password=password)

最佳答案

就像 Avinash Raj 所说,将 section 属性设置为 true 和 null 就可以达到目的:

section = models.ForeignKey(Section, blank=True, null=True)

关于python - Django 完整性错误 "Column 'section_id' 不能为空”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46577869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com