В Django, как вы можете получить все связанные объекты с определенным внешним ключом пользователя - PullRequest
1 голос
/ 04 ноября 2011

У меня есть что-то вроде этого:

class Video(models.Model):
    user = models.ForeignKey(User, related_name='owner')
    ...

, и я пытаюсь получить доступ ко всем видео, которые есть у конкретного пользователя, делая что-то вроде:

u = User.objects.get(pk=1)
u.video_set.all()

, и яошибка 'У объекта пользователя нет атрибута video_set'

Я что-то не так делаю?

1 Ответ

7 голосов
/ 04 ноября 2011

related_name - это имя для ссылки на него из целевой модели (в данном случае, пользователя). То, как вы его установили, вы должны звонить:

u = User.objects.get(pk=1)
u.owner.all()

Однако для ясности вам, вероятно, следует установить для связанного имени что-то вроде related_name='video_set' (кстати, это имя по умолчанию) Тогда вы могли бы позвонить u.video_set.all(), что выглядит более логичным.

...