gpt4 book ai didi

python - Django模型层中GET和FILTER的区别

转载 作者:IT老高 更新时间:2023-10-28 20:51:27 25 4
gpt4 key购买 nike

有什么区别,请通俗地举例说明。谢谢!

最佳答案

我不知道你是否真的需要一个例子,这很容易:

  • 如果您知道这是一个与您的查询匹配的对象,请使用 get。如果超过一个,它将失败。
  • 否则使用过滤器,它会为您提供对象列表。

更准确地说:

  • MyTable.objects.get(id=x).whatever 为您提供对象的 whatever 属性。
如果找到多个对象,

get() 会引发 MultipleObjectsReturned。MultipleObjectsReturned 异常是模型的一个属性类。

get() 如果没有为给定的参数。这个异常也是模型类的一个属性。

  • MyTable.objects.filter(somecolumn=x) 不仅可以用作列表,还可以再次查询,例如 MyTable.objects.filter(somecolumn=x ).order_by('date').
  • 原因是它实际上不是一个列表,而是一个查询对象。您可以像通过列表一样遍历它:for obj in MyTable.objects.filter(somecolumn=x)

关于python - Django模型层中GET和FILTER的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1541249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com