我可以使用Django模型在数据库上执行复杂的查询吗?

时间:2018-06-25 21:36:57

标签: python django django-models django-database

我想将django用于数据库驱动的应用程序,并且想知道django模型是否允许我使用复杂的查询来获取数据。

例如,我在数据库中有此表:

Click to show image

我想提取此查询产生的数据。

SELECT name
FROM movies
WHERE year between 1995 AND 2001
AND rank between 6 and 9;

我该如何使用Django?

2 个答案:

答案 0 :(得分:1)

Movie.objects.filter(year__range(1995, 2001), rank__range(6, 9))

您可以使用过滤器来限制Django的查询集。

答案 1 :(得分:0)

blacklwhite指出,您正在寻找Django的过滤器。

示例:

MyModel.objects.filter(your_query)

过于简化,但这就是要旨。

有关更多信息,请参阅the docs中的过滤。