Django模型错误抽象或未安装?

时间:2013-04-04 10:30:09

标签: python django django-models

尝试运行python manage.py syncdb命令

时出现以下错误

CommandError:一个或多个模型未验证: sms.message:'originator'与模型<class 'sms.models.message.Originator'>有关系,模型未安装或是抽象的。

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

也许还有其他事情发生在这里?

由于

2 个答案:

答案 0 :(得分:4)

我添加时安装....

class Meta:
        app_label = 'sms'

致Originator类

答案 1 :(得分:1)

您确定User是auth.User模型吗?它似乎指的是Originator模型本身,这很奇怪。

您应该像在Message中那样做,并且只需使用字符串auth.User作为Originator.user FK的目标。