После регулярной многозадачной логики запроса задает мне ошибки. Я предполагаю, что, поскольку он связан с собой, мне может понадобиться сделать дополнительную магию, но я не могу понять, какую магию.Django, queryset to return manytomany of self
модель:
class Entry(models.Model):
title = models.CharField(max_length=100, verbose_name='title')
related = models.ManyToManyField('self', related_name='related_entries', blank=True)
QuerySet:
entry = Entry.objects.get(pk=1)
related = entry.related_entries.all()
ошибка: объект 'Entry' имеет атрибута 'related_entries'
Правильно, теперь он прекратил возвращать мне ошибку. Но теперь у меня две записи. Скажите EntryA & EntryB. Когда EntryA имеет EntryB как related_entries, вызов entry.related_entries.all() ничего мне не дает. Но когда у EntryA есть как EntryB, так и EntryA (сама) как related_entries, вызов entry.related_entries.all() возвращает мне только EntryA, а не EntryB. * mindboggled * – Kasper
Kasper: в этом случае вы хотите, чтобы они были симметричными: вместо этого просто удалите 'related_name' и используйте' entry.related.all() ' –
Piet, спасибо! что сделал трюк – Kasper