0

シェルから、または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 に変更しようとしました。それは同じです。

: 追加のデータが必要な場合。追加できます。

4

1 に答える 1

1

blank=True, null=Trueと の両方link_karmaを設定してみてくださいcomment_karma。これらのフィールドに値を渡していないため、create ステートメントがオブジェクトを作成しようとすると、何を指定すればよいかわからないlink_karmため、エラーが発生します。

goliney が正しく指摘したように、 User_Profile モデルにメールは必要ありません。 User は既に持っているからです。

于 2012-10-12T16:07:42.340 に答える