0

python manage.py syncdbコマンドを実行しようとすると、次のエラーが表示されます

CommandError: 1 つまたは複数のモデルが検証されませんでした: sms.message: 'originator' には、<class 'sms.models.message.Originator'>インストールされていないか抽象的である model との関係があります。

models.py

class Originator(models.Model):
    originator_name = models.CharField(max_length=11)
    user = models.ForeignKey(User, related_name='originators')


class Message(models.Model):
    content = models.TextField(help_text=_(u'The body of the message.'))
    recipient_number = models.CharField(max_length=32)
    sender = models.ForeignKey('auth.User', related_name='sent_sms_messages')
    originator = models.ForeignKey(Originator,
                                   related_name='Messages')

問題はありません!他の誰でもできますか?

私が気付いたのは、Message to Originator の FK を削除すると、テーブルが作成され、Originator が作成されないことです!

これは私が追加しているモデルです....

https://bitbucket.org/schinckel/django-sms-gateway/src/13b68d23f3a28c7d147c4a501965e2ad07f89cf7/sms/models/message.py?at=default

たぶん、ここで何か他のことが起こっていますか?

ありがとう

4

2 に答える 2

4

私が追加したときにインストールされました....

class Meta:
        app_label = 'sms'

オリジネータークラスへ

于 2013-04-04T10:51:21.363 に答える
1

Userそこに auth.User モデルがありますか? オリジネーターモデル自体を指しているようで、奇妙です。

おそらく で行ったのと同じことを行いMessage、文字列をFKauth.Userのターゲットとして使用する必要があります。Originator.user

于 2013-04-04T10:33:42.163 に答える