Как мне выполнить этот запрос в Django? - PullRequest
0 голосов
/ 06 апреля 2011
class ExternalUser(models.Model):
    user = models.ForeignKey(User)
    external_account_id = models.CharField(max_length=200, null=True, blank=True)

class ExternalFriends(models.Model):
    external_user = models.ForeignKey(ExternalUser)
    external_account_id = models.CharField(max_length=200, null=True, blank=True)

Предположим, я сначала получил все ExternalFriends:

all_friends = ExternalFriends.objects.all()

ОК, теперь у меня есть набор запросов.

Как мне SELECT * FROM ExternalUser WHERE external_account_id IN [ ...all_friends's external_account_ids... ]?

Каким будет эквивалент Джанго?

1 Ответ

1 голос
/ 06 апреля 2011

Конечно, это можно сделать более эффективно, но ...

ExternalUser.objects.filter(external_account_id__in=[friend.id for friend in all_friends])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...