我在Django中看到了很多关于这个错误的问题,但我感到很茫然,因为据我所知,我的数据库中的表没有 section_id 列。当用户尝试注册并且 views.py 尝试创建用户时,我收到错误。我最近更改了" Profile"我的应用程序中的模型(配置文件对象与用户对象一起自动创建)具有部分属性而不是 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)
答案 0 :(得分:0)
就像Avinash Raj所说的那样,将 section 属性设置为空白和null为真有效:
section = models.ForeignKey(Section, blank=True, null=True)