【发布时间】:2012-10-12 15:22:22
【问题描述】:
当我尝试从 shell 或通过 manage.py 或从 Django-Admin 页面创建超级用户时;它会抛出类似的错误:
IntegrityError at /admin/auth/user/add/
null value in column "link_karma" violates not-null constraint
这是我的 models.py [用户部分]:
class User_Profile(models.Model):
user = models.OneToOneField(User)
link_karma = models.IntegerField()
comment_karma = models.IntegerField()
avatar = models.CharField(max_length=100)
def create_user_profile(sender,instance,created,**kwargs):
if created:
User_Profile.objects.create(user=instance)
post_save.connect(create_user_profile, sender=User)
def __unicode__(self):
return self.user.username
我在 settings.py 中添加了闲置线:
AUTH_PROFILE_MODULE = 'accounts.User_Profile'
在添加此行之前;是一样的。
注意:我尝试将 link_karma 字段的类型更改为 CharField。是一样的。
注意:如果需要任何其他数据;我可以添加它。
【问题讨论】:
-
修复代码中的缩进。顺便说一句,
User已经有电子邮件字段。 -
我认为,
create_user_profile应该是单独的独立函数,而不是User_Profile方法。 -
独立函数是什么意思?
-
不属于
User_Profile类
标签: django django-models django-authentication