0

User モデルを次のように拡張します。

class Client(models.Model):
    business_name = models.CharField(max_length=128)
    category = models.ForeignKey(Category) # the beginning of the problem
    user = models.ForeignKey(User, unique=True)

class Category(models.Model):
    category = models.CharField(max_length=75)

#the problem is here
def create_client_profile(sender, instance, created, **kwargs):
    if created:
        Client.objects.create(user=instance)

post_save.connect(create_client_profile, sender=User)

そのため、データベースを同期しようとすると、category_id を null にすることはできず、問題の原因は "create_client_profile" であると不平を言います。どうすればこれを解決できますか? 「create_client_profile」を削除すると機能しますが、get_profile() が失われます。

これを解決策としてどう思いますか?私はそれがDjangoishで十分かどうか確信が持てません:)

4

2 に答える 2

0

データベースにはすでに のデータが含まれていますClientか? カテゴリのエントリがある場合がありnullます。

category行を次のように変更した場合Client:

category = models.ForeignKey(Category, null=True)

それは役に立ちますか?

于 2011-10-31T14:46:49.570 に答える