Django模型层中GET和FILTER之间的区别 [英] Difference between GET and FILTER in Django model layer
本文介绍了Django模型层中GET和FILTER之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
解决方案
我不知道你真的需要一个例子,这很简单:
- 如果您知道这是一个与您的查询匹配的对象,请使用get。
- 否则使用过滤器,它会提供一个对象列表。
更精确:
-
MyTable.objects.get(id = x).whatever
给你$任何
对象的属性 -
MyTable.objects.filter (somecolumn = x)
不仅可用作列表,还可以再次查询,如MyTable.objects.filter(somecolumn = x).order_by('日期')
。 - 原因是它实际上并不是一个列表,而是一个查询对象。您可以像MyTable.objects.filter(somecolumn = x)中的obj列表一样遍历:
What is the difference, please explain them in laymen's terms with examples. Thanks!
解决方案
I don't know if you really need an example, it's quite easy:
- if you know it's one object that matches your query, use get. It will fail if it's more than one.
- otherwise use filter, which gives you a list of objects.
To be more precise:
MyTable.objects.get(id=x).whatever
gives you thewhatever
property of your objectMyTable.objects.filter(somecolumn=x)
is not only usable as a list, but you can also query it again, something likeMyTable.objects.filter(somecolumn=x).order_by('date')
.- The reason is that it's not actually a list, but a query object. You can iterate through it like through a list:
for obj in MyTable.objects.filter(somecolumn=x)
这篇关于Django模型层中GET和FILTER之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文