Получить набор запросов Foreignkey - PullRequest
0 голосов
/ 26 марта 2011

Мне нужно получить набор запросов для иностранного ключа, но я не смог выяснить, как.

У меня есть следующая модель:

class Contact(models.Model):
    owner = models.ForeignKey(CustomUser, related_name='contact_set')
    referenced = models.ForeignKey(CustomUser, related_name='contacted_by_set')

Затем для текущегоПользователь Мне нужен набор запросов, который извлекает указанных пользователей.Следующее возвращает объекты Contact, мне нужны объекты User:

print request.user.contact_set.all()

Кроме того, это должен быть набор запросов, поскольку он будет использоваться ModelMultipleChoiceField.

Спасибо

Ответы [ 2 ]

2 голосов
/ 26 марта 2011
User.objects.filter(contacted_by_set__owner=request.user) 

должен это сделать

1 голос
/ 26 марта 2011

Оджи правильно с синтаксисом, но я хотел бы отметить, что это на самом деле отношения ManyToMany. Если вы показали полное определение Контакта, а других таблиц нет, вы можете пропустить всю таблицу и просто определить отношения непосредственно в CustomUser:

contacts = ManyToManyField('self', related_name='referenced_users')

Или, если у вас есть другие поля в Контакте, вы можете добавить through='Contact' к этому ManyToManyField.

В любом случае запрос становится:

request.user.referenced_users.all()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...