in:
提取那些給定的 field 的值是否在給定的容器中。容器能夠爲 list 、 tuple 或者任何一個能夠迭代的對象,包括 QuerySet 對象。示例代碼以下:spa
result = Article.objects.filter(id__in=[1,4,5])
以上代碼在翻譯成 SQL 語句爲以下:翻譯
SELECT `article`.`id`, `article`.`title`, `article`.`content`, `article`.`category_id` FROM `article` WHERE `article`.`id` IN (1, 4, 5)
實例截圖以下:3d
固然也能夠傳遞一個 QuerySet 對象進去。示例代碼以下:code
# 全部標題中包含fuck的分類: articles = Article.objects.filter(title__icontains='fuck') results = Category.objects.filter(article__in=articles) for item in results: print(item) print("#########如下是對應的SQL語句#########") print(results.query)
以上代碼的意思是獲取那些文章標題包含 hello 的全部分類。將翻譯成如下 SQL 語句,示例代碼以下:對象
SELECT `category`.`id`, `category`.`name` FROM `category` INNER JOIN `article` ON (`category`.`id` = `article`.`category_id`) WHERE `article`.`id` IN (SELECT U0.`id` FROM `article` U0 WHERE U0.`title` LIKE %fuck%)
具體截圖以下:blog
related_query_name的書寫方式: