0

珍しいケースがあります。私のmodels.pyには、Event要素と、それを参照する2つの異なるタイプのユーザー要素があります。

class User(models.Model):

     attending = models.ManyToManyField('Event', related_name='User_attending')
     hosting = models.ForeignKey('Event', related_name='User_hosting')

     username = models.CharField(max_length=40)


class Event(models.Model):
     #event title
     title = models.CharField(max_length=200)
     #time created
     created = models.DateField('Date Created',auto_now_add=True)

私のviews.pyで、ユーザーを作成したいときは、次のいくつかがあります。

    user = User()
    user.username = ""
    user.gender = 0
    user.fName = ""
    user.lName = ""
    ....
    user.save

これは私のブラウザが私に怒鳴り、言うときです:

整合性エラー、list_user.hosting_idはNULLではない可能性があります

そこにイベント要素を作成せずにこれを回避する方法についてのアイデアはありますか?

4

2 に答える 2

2

Userを付けずにを作成したいようです。これを行うには、フィールドに次hostingを追加します。blank=True, null=True

hosting = models.ForeignKey('Event', related_name='User_hosting',
                            blank=True, null=True)

また、データベースを修正するために移行を追加する必要があります(データベースで空のフィールドを持つ機能を許可する必要があるため)。この目的のためにSouthを使用することをお勧めします。

于 2012-07-18T07:39:59.780 に答える
1

あなたはあなたの関係を騙しました。それらはオンEventになっていて、を指している必要がありますUser

于 2012-07-18T07:41:38.013 に答える