django';没有此类表格';当syncdb

django';没有此类表格';当syncdb,django,django-syncdb,Django,Django Syncdb,这是我的模型: class BaseModelTalk(models.Model): name = models.CharField('Name', max_length = 100) slug = models.SlugField('Slug', blank = True) creator = models.ForeignKey('person.Person') date_created = m

这是我的模型:

class BaseModelTalk(models.Model):

    name            = models.CharField('Name', max_length = 100)
    slug            = models.SlugField('Slug', blank = True)
    creator         = models.ForeignKey('person.Person')
    date_created    = models.DateTimeField(default = now)
    objects         = CustomTalkManager()

    class Meta:
        abstract = True

    def save(self, *args, **kwargs):
        if not self.id:
            self.slug = slugify(self.name)
        super(BaseModelTalk, self).save(*args, **kwargs)

    def __unicode__(self):
        return u'%s' % self.slug

class Talk(BaseModelTalk):

    tags            = TaggableManager()
    description     = models.TextField('Talk description')

    class Meta:
        verbose_name = 'Talk'
        verbose_name_plural = 'Talks'

class ThreadTextRating(RatedItemBase):
    content_object = models.ForeignKey('talk.ThreadText')

class ThreadImageRating(RatedItemBase):
    content_object = models.ForeignKey('talk.ThreadImage')

class ThreadLinkRating(RatedItemBase):
    content_object = models.ForeignKey('talk.ThreadLink')

class Thread(BaseModelTalk):

    THREAD_TYPE = (('text', 'Text'),
                   ('image', 'Image'),
                   ('link', 'Link'))

    type            = models.CharField('Thread\'s type', max_length = 5, choices = THREAD_TYPE, blank = True, null = True)

    class Meta:
        abstract = True

class ThreadText(Thread):

    ratings         = Ratings(ThreadTextRating)
    talk            = models.ForeignKey('talk.Talk', related_name = 'text_threads')
    content         = models.TextField('Thread\'s context')

    class Meta:
        verbose_name = 'Text'
        verbose_name_plural = 'Text\'s'  

class ThreadImage(Thread):

    ratings         = Ratings(ThreadImageRating)
    talk            = models.ForeignKey('talk.Talk', related_name = 'image_threads')
    image           = ImageField('Thread\'s image', upload_to = 'thread/image/')

    class Meta:
        verbose_name = 'Image'
        verbose_name_plural = 'Image\'s'

class ThreadLink(Thread):

    ratings         = Ratings(ThreadLinkRating)
    talk            = models.ForeignKey('talk.Talk', related_name = 'link_threads')
    link            = models.URLField('Thread\'s link')

    class Meta:
        verbose_name = 'Link'
        verbose_name_plural = 'Link\'s'
每次运行
syncdb
,我都会遇到一个错误:
django.db.utils.DatabaseError:没有这样的表:talk\u basemodeltalk

我已经将应用程序放在我的
settings.py
上,即
talk


我真的不知道这是什么原因,唯一的线索是
BaseModelTalk
上的
类Meta
,如果我对该行进行注释,我就不会出错。

错误原因:我们不能在模型子类中明确定义自定义或非自定义管理器。只需从
BaseModelTalk
中删除
对象
行,并将其放置在每个模型上
abstract=False
即可解决此问题。

您可能希望尝试使用命令
manage.py sql talk
获取所有用于创建“talk”应用程序的sql命令的输出,并在sql shell中手动运行它们(
manage.py dbshell
)一个接一个直到你找到错误。@mawimawi即使在我键入
manage.py sql talk
什么是完整的回溯?mawimawi仍然是一样的:
django.db.utils.DatabaseError:没有这样的表:talk\u basemodeltalk
完整的回溯会很有趣。不仅仅是最后一行。。。