我已列表, 升= [「XXX」,「YYY」]Django的「動態」過濾
我需要filtred我的模型與列表的這個元件(此元件的數目將不恆定)
例如。我在我的模型中有代碼字段,並且代碼爲「XXX」的元素很少,代碼爲「YYY」的元素很少,很少有「ZZZ」等。我有一個列表,其中包含 - 例如 - ['XXX', 'YYY']我需要從db獲取代碼爲XXX和YYY的記錄。
我不知道什麼時候可以開始。
我已列表, 升= [「XXX」,「YYY」]Django的「動態」過濾
我需要filtred我的模型與列表的這個元件(此元件的數目將不恆定)
例如。我在我的模型中有代碼字段,並且代碼爲「XXX」的元素很少,代碼爲「YYY」的元素很少,很少有「ZZZ」等。我有一個列表,其中包含 - 例如 - ['XXX', 'YYY']我需要從db獲取代碼爲XXX和YYY的記錄。
我不知道什麼時候可以開始。
爲了讓您的車庫有儲存的汽車,您在Django有一個模型。
class Car(models.Model):
manufactirer = models.Charfield(max_length=100)
make = models.DatetimeField()
anotherfield = ......
現在製造商的名稱來過濾這些車,你可以這樣做:
Car.objects.filter(manufacturer='BMW')
如果你要通過所有的德國製造商來篩選汽車,你可以做這樣的事情:
manufacturer_list = ['BMW', 'VW', 'AUDI']
Car.objects.filter(manufacturer__in=manufacturer_list)
這是SQL相當於
SELECT ... WHERE manufacturer IN ('BMW', 'VW', 'AUDI');
的
您還可以使用查詢集首先動態獲取值列表。這在製造商列表來自django查詢的情況下非常有用。
manufacturer_list = Manufacturer.objects.filter(name__contains='mer')
cars = Car.objects.filter(manufacturer__in=manufacturer_list)
列表:
lst = ['XXX', 'YYY']
現在,您可以過濾,如:
elements = Model.objects.filter(code__in=lst)
([Django的與值列表過濾器]的可能的複製http://stackoverflow.com/questions/9304908/django的過濾器與 - 列表的值) –