Модель Джанго ManytoMany добытчики - PullRequest
1 голос
/ 29 марта 2012

Я хотел получить список объектов, связанных с моделью A от ManyToMany с моделью B, например, закусочные (A), подтвержденные для посещения еды (B).Но я не уверен, какой геттер мне следует использовать.Я действительно хотел сделать это, чтобы показать связанные объекты в панели администратора.Приведенный ниже метод был одной неудачной попыткой, которую я предпринял.

class Meal(models.Model):
    diners = models.ManyToManyField(User, through='Attendance', related_name="eating", blank=True)

    def diners(self):
        return self.eating

Вы можете помочь?Спасибо

Ответы [ 2 ]

1 голос
/ 29 марта 2012

Как предложил ilvar, удалите метод diners и используйте self.diners.all (), чтобы получить объекты внутри методов Meal.related_name = «еда» предназначена для получения посещенных блюд пользователем, наоборот.

0 голосов
/ 18 января 2013

Я прибыл на эту страницу с той же проблемой, что и OP. Я просто удалил ссылку на поле ManyToMany в list_display в моей модели администратора. Результат: на странице администратора для этого приложения под именем поля ManyToMany появился красиво отформатированный виджет списка с множественным выбором с указанием возможных значений для моего отношения ManyToMany.

Таким образом, решение состояло в том, чтобы удалить ссылку в list_display и позволить Django обработать ее. Это с Django 1.4.3.

...