【发布时间】:2011-04-04 00:22:53
【问题描述】:
我正在使用 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' 对象没有 属性'get_category_order'
似乎它不会让我对递归的“外键”进行排序。谁能解释一下。有没有解决的办法?可能有多个级别的类别和子类别,但表中永远不会定义循环引用。
【问题讨论】:
-
这很奇怪,我用 South 试过了,效果很好。你在你的 Django 项目中使用 South 吗?