Ошибка Django при доступе к много-ко-многим через поле неуправляемой модели

Я получаю эту странную ошибку, с которой я не могу разобраться самостоятельно:

'ManyToManyField' object has no attribute '_m2m_reverse_name_cache'

Релевантными частями кода являются следующие:

models.py:

class Section(models.Model):
    type = models.IntegerField(blank=True, null=True)

    

    child=models.ManyToManyField(
        'self',
        through='SectionParent',
        through_fields = ('parent_section_id', 'section_id'),

    )


    class Meta:
        managed = False
        db_table = 'section'

class SectionParent(models.Model):
    section = models.ForeignKey(Section, on_delete=models.CASCADE, related_name="m2m_child")
    parent_section = models.ForeignKey(Section, on_delete=models.CASCADE, related_name="m2m_parent")

    class Meta:
        managed = False
        db_table = 'section_parent'

views.py:

def navigation(request, section_id=None):

    # Load species if no id is provided
    if not section_id:
        sections = Section.objects.using('app-db').filter(type=SectionType.speciesCategory.value[0]).first()

    # Load children of current section
    else:
        sections = Section.objects.using('app-db').filter(id = section_id).first()


    print(sections.child()) <-------------- ERROR HERE
    return HttpResponse("test")

Я пытался модифицировать models.py много раз, включая добавление related_name, замену 'self' на 'Section' и другие вещи, изменение имени отношения (child), но ничего не помогает. Я думаю, что это может быть связано с тем, что модель работает над существующей базой данных (поэтому managed = false), так как я никогда не получал такой ошибки с включенной миграцией.

Вернуться на верх