Как я могу получить QuerySet, который получает несколько строк из django?Я думал, что filter () будет работать, но, кажется, хуже.
Например, у меня есть две строки в модели Car с двумя текстовыми атрибутами (license и vin).Теперь скажите, что я хочу распечатать лицензии и vins от этих автомобилей.Как я могу сделать это с одним вызовом базы данных?
Вот ответ, который сделает два вызова базы данных:
#using get(), two total queries
a = Car.objects.get(id=1) #query here
b = Car.objects.get(id=2) #query here
print(a.license + a.vin) #no query
print(b.license + b.vin) #no query
Это, очевидно, не сработало, потому что я сделал два запроса get ().Итак, затем я попробую filter ():
#using filter(), four total queries
c = Car.objects.filter(id__in=(1,2)) #no query
print(c[0].license + c[0].vin) #two queries
print(c[1].license + c[1].vin) #two queries
Хммм, это странно, зачем делать четыре вызова базы данных?Есть ли способ, которым я могу заставить это получить два в одном вызове базы данных?