我有一个类别树,与条目项目相关的类别。所以这是我的模型文件:在django-mptt中执行以下操作有什么错误?
from django.db import models
import mptt
class Category(models.Model):
nombre=models.CharField(max_length=70)
padre=models.ForeignKey('self', blank=True, null=True)
def __unicode__(self):
return self.nombre
class Meta:
ordering = ['tree_id', 'lft']
# Create your models here.
class Item(models.Model):
category=models.ManyToManyField(Category)
try:
mptt.register(Category, order_insertion_by=['nombre'], parent_attr='padre')
except mptt.AlreadyRegistered:
pass
我使用ManyToManyField,因为每个项目可以在多个类别。
现在,在我的应用程序中安装'mptt'后。我想在shell下:
Category.tree.add_related_count(Category.tree.root_nodes(), Item,
'category', 'q_c', cumulative=True)
应返回一棵树,并加载属于每个节点上的一个节点项目的数量。这看起来像文档中所述的django-mptt的标准功能。
但是,我得到一个错误。以下是跟踪:
使用SVN的django-MPTT和在Ubuntu 9.1 1.1 Django的。
您的示例如下的文档,但在文档,它们具有类是一个外键,而不是一个多对多。 – 2010-02-05 00:48:53
是的,我注意到了......我将其作为问题发布,以查看创作者是否有任何答案。 我刚试过用ForeignKey,它工作(因为表是空的,它返回[])。也许我所要求的还没有实现? – Ezequiel 2010-02-05 16:59:02