3
рассмотрит ниже предположительные модели:Как сериализовать рекурсивные отношения с самим собой в Django REST Framework?
class Category(models.Model):
name = models.CharField(max_length=100)
sub_category = models.ManyToManyField(u'self', null=True, blank=True,
through=u'SubCategory', symmetrical=False)
def __unicode__(self):
return self.name
class SubCategory(models.Model):
from_category = models.ForeignKey(Category, related_name=u'from_category')
to_category = models.ForeignKey(Category, related_name=u'to_category')
def __unicode__(self):
return self.from_category.name
Как мы могли сериализатор сериализовать отношения рекурсии так:
{
"id": 1,
"name": "a",
"sub_category": [
{
"id": 2,
"name": "b",
"sub_category": [
{
"id": 3,
"name": "c",
"sub_category": [
{
"id": 4,
"name": "d",
"sub_category": [
...
],
},
...
],
},
...
]
},
...
]
}
Когда я использовал этот модуль, я получил RuntimeError со значением исключения: 'максимальная глубина рекурсии превышена в __instancecheck__' –
Право - так что у вас, вероятно, есть цикл за один o f отношения. Вам нужно выяснить, как вы хотите, чтобы представление справилось с этим. –
спасибо. вы должны встроить это рекурсивное поле в DRF –