我敢肯定這是一個微不足道的操作,但我無法弄清楚它是如何完成的......我如何創建一個值列表的Django查詢。django過濾器的值列表
有一定是比這更聰明:
ids = [1, 3, 6, 7, 9]
for id in ids:
MyModel.objects.filter(pk=id)
我期待讓他們都在同一個節目的東西,如:
ids = [1, 3, 6, 7, 9]
MyModel.objects.filter(pk=ids)
我敢肯定這是一個微不足道的操作,但我無法弄清楚它是如何完成的......我如何創建一個值列表的Django查詢。django過濾器的值列表
有一定是比這更聰明:
ids = [1, 3, 6, 7, 9]
for id in ids:
MyModel.objects.filter(pk=id)
我期待讓他們都在同一個節目的東西,如:
ids = [1, 3, 6, 7, 9]
MyModel.objects.filter(pk=ids)
當您有項目列表,並且您想要檢查列表中的可能值時如果你不能使用=
。
sql查詢將如SELECT * FROM mytable WHERE ids=[1, 3, 6, 7, 9]
這是不正確的。您必須使用in
運算符,因此您的查詢將類似於SELECT * FROM mytable WHERE ids in (1, 3, 6, 7, 9)
,因爲該Django提供了__in
運算符。
+1一個小解釋。雖然我知道我可以閱讀文檔,但這並不意味着我理解了文檔。 – 2015-02-26 02:00:39
@奧斯汀感謝。 – Nilesh 2015-02-26 07:15:35
Blog.objects.in_bulk([1])
{1: <Blog: Beatles Blog>}
Blog.objects.in_bulk([1, 2])
{1: <Blog: Beatles Blog>, 2: <Blog: Cheddar Talk>}
Blog.objects.in_bulk([])
{}
Blog.objects.in_bulk()
{1: <Blog: Beatles Blog>, 2: <Blog: Cheddar Talk>, 3: <Blog: Django Weblog>}
Blog.objects.in_bulk(['beatles_blog'], field_name='slug')
{'beatles_blog': <Blog: Beatles Blog>}
的
可能重複[?如何使用像SQL的「IN」一個字段的數組來篩選Django的查詢集(http://stackoverflow.com/questions/4016794/ how-to-filter-a-django-queryset-using-an-array-on-a-field-like-sqls-in) – 2012-02-16 03:05:08
可能的重複[如何使用像SQL這樣的字段上的數組過濾Django查詢集「 IN「?](https://stackoverflow.com/questions/4016794/how-to-filter-a-django-queryset-using-an-array-on-a-field-like-sqls-in) – ChillarAnand 2017-07-05 06:42:20