django-顺序与递归外键有关

django-顺序与递归外键有关,django,recursion,key,Django,Recursion,Key,我正在使用Django 1.2.3。我有一个代表类别和子类别的表格。对于子类别,它只引用自己表中的“父”主键作为其父项。它看起来像这样: class Category(models.Model): def __unicode__(self): return self.name class Meta: db_tablespace = 'Category' verbose_name = 'Category' verbos

我正在使用Django 1.2.3。我有一个代表类别和子类别的表格。对于子类别,它只引用自己表中的“父”主键作为其父项。它看起来像这样:

class Category(models.Model):
    def __unicode__(self):
        return self.name
    class Meta:
        db_tablespace = 'Category'
        verbose_name = 'Category'
        verbose_name_plural = 'Categories'
        ordering = ['display_weight', 'name']
        order_with_respect_to = 'parent'
    name = models.CharField('Category Name', max_length=32)
    parent = models.ForeignKey('self', blank=True, null=True)
    display_weight = models.IntegerField('Display Weight', default=50)
尝试验证/同步此数据库时,出现以下错误:

AttributeError:“str”对象没有 属性“获取类别顺序”

它似乎不允许我对递归的“外键”进行排序。有人能解释一下吗。有办法解决这个问题吗?可能存在多个级别的类别和子类别,但表中永远不会定义循环引用。

这表明您使用的django版本已经修复了您的问题。这是一个后端口

这些票据中讨论了该问题:


您可能需要检查您的django是否有补丁代码。

这很奇怪,我在South试用过,效果很好。你在Django项目中使用South吗?谢谢kriegar,这张票的对象定义几乎和我的一样。这似乎是一个直截了当的错误。我下载了base.py的diff,并将其作为补丁应用到ubuntu的.deb包中的文件中,但我似乎仍然收到相同的错误消息。