gpt4 book ai didi

Django-mptt TreeManyToManyField 不工作?

转载 作者:行者123 更新时间:2023-12-04 05:53:21 25 4
gpt4 key购买 nike

我尝试了一段时间在我的项目中设置 django-mptt。我从 tutorial 中取样并相应地更改了模型,如下所示:

class Genre(MPTTModel):
pk = models.AutoField(primary_key=True)
name = models.CharField(max_length=50, unique=True)
parent = TreeManyToManyField('self', null=True, blank=True, related_name='children')

class MPTTMeta:
order_insertion_by = ['name']

不幸的是控制台打印出这样的东西:

/srv/tokedu/local/lib/python2.7/site-packages/Django-1.3.1-py2.7.egg/django/db/models/base.pyc in _set_pk_val(self, value)
426
427 def _set_pk_val(self, value):
--> 428 return setattr(self, self._meta.pk.attname, value)
429
430 pk = property(_get_pk_val, _set_pk_val)
/srv/tokedu/local/lib/python2.7/site-packages/Django-1.3.1-py2.7.egg/django/db/models/base.pyc in _set_pk_val(self, value)
426
427 def _set_pk_val(self, value):
--> 428 return setattr(self, self._meta.pk.attname, value)
429
430 pk = property(_get_pk_val, _set_pk_val)
RuntimeError: maximum recursion depth exceeded

我认为 django-mptt 只是不支持 TreeManyToManyField。有人遇到过同样的问题吗??

最佳答案

节点不能有多个父节点。这从根本上改变了您的数据结构 - 它不再是树,而是任意图。

django-mptt 只处理树。如果你有一个大型图形数据库,你就会遇到一个非常不同的问题。您可能想要研究使用图形数据库而不是 RDBMS。

据我所知,没有使图形结构变得简单的 django 应用程序,但话又说回来,我真的不需要:)

有用的链接:

关于Django-mptt TreeManyToManyField 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9813974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com