繁体   English   中英

Django ORM objects.get() 相关问题:使用 .get() 是否合法,就好像它是 .filter() 一样?

[英]Django ORM objects.get() Related Questin: Is it legit to use .get() as if it's .filter()?

我经常看到,不管模型如何,人们经常使用 Model.objects.get(id=id) 或 .get(product_name=product_name) 或 .get(cart=my_cart) ——但我现在看到一段代码使用 .get() 就像使用 .get(product=product, cart=my_cart) 之类的过滤器,这会按预期工作吗?

.get() 用于仅返回一条记录,而 .filter() 则返回一组记录。 您可以根据需要使用尽可能多的标准,以便积极地识别一条记录。

一个例子可能是:

the_batman = Movie.objects.get(category = "superhero", lead__full_name="罗伯特帕丁森")

在这种情况下,单独的任何一个标准都会产生一组许多电影(因此在 .get() 请求中出错),但结合起来它们只会产生一个,因此可以按预期工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM