2017-10-05 82 views
0

我已经看到了关于这个错误在Django很多问题,但我在一个损失,因为据我所知,在我的数据库中没有表有SECTION_ID栏。我得到的错误,当用户尝试注册和views.py尝试创建一个用户。我最近改变了在“个人资料”的模式在我的应用程序(档案对象自动沿着用户创建对象)有一个部分属性,而不是一个SECTION_ID属性,但我重置迁移和重建数据库数倍。我认为这可能是一个迁移问题,但我真的不知道。Django的完整性错误“列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) 
+1

“在我的数据库中没有表具有SECTION_ID列”,实际上就意味着在剖面模型的'section'列。你为什么不试试'节= models.ForeignKey(科空白=真,空=真)'? –

+0

和'还设置默认值user_type' –

+0

你是金丹@AvinashRaj生活! –

回答

0

像阿维纳什·拉吉说,设置空白和空是为部分属性真正的伎俩:

section = models.ForeignKey(Section, blank=True, null=True) 
相关问题