Django добавить результаты запроса к набору запросов - PullRequest
2 голосов
/ 17 ноября 2011

в представлении, которое я строю, мне нужно обратиться к нескольким базам данных.То, что я хочу сделать, это использовать результаты запроса_набора для поиска в другой таблице БД.

У меня работает mydb1_query_set , сейчас мне нужно что-то вроде этого:

for row in mydb1_query_set:
        mydb2_query_set = Mytable.objects.filter(id=row.id)

Так что я продолжаю добавлять к изначально пустому mydb2_query_set во время итерации.Я понимаю, что нет QuerySet.append, так как мне добиться того, чего я хочу?Любая помощь высоко ценится ...

Ответы [ 2 ]

8 голосов
/ 17 ноября 2011

Используйте list вместо queryset, и тогда вы можете append или extend, как хотите.

mydb2_query = []
for row in mydb1_query_set:
    mydb2_query.extend(list(Mytable.objects.filter(id=row.id)))
3 голосов
/ 29 августа 2018
qs1= <QuerySet [<User: 1@gmail.com>, <User: 2@gmail.com>]>
qs2= <QuerySet [<User: 3@gmail.com>, <User: 4@gmail.com>]>
qs3 = qs1 | qs2

res:

qs3 = <QuerySet [<User: 1@gmail.com>, <User: 2@gmail.com>, <User:3@gmail.com>, <User: 4@gmail.com>]>

РЕДАКТИРОВАТЬ: Ссылка на документацию:

https://docs.djangoproject.com/en/2.1/ref/models/querysets/#operators-that-return-new-querysets

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