gpt4 book ai didi

python - 如何有效地检查数据库中是否存在名称

转载 作者:太空宇宙 更新时间:2023-11-03 20:44:31 26 4
gpt4 key购买 nike

我想有效地检查某个名称是否与商店商品的任何其他名称共享

当然,我可以循环浏览商店中的所有商品并比较它们的名称,但我确信有一个 contains() 类方法,仅用于名称。也许使用filter()?但如何呢?有太多广泛的答案,我无法针对我的独特问题找出答案

models.py
...
class Item(models.Model):
item_name = models.CharField(max_length=200)
...

class Shop(models.Model):
shop_name = models.CharField(max_length=200)
items = models.ManyToManyField('Product')
...

views.py
...
def check(name):
if name in Shop.items.filter(name)
# do something

...

我的代码似乎没有发现商店中有任何同名的商品(尽管我可以证明存在)

最佳答案

你可以写一个 exists查询,而不是在整个列表中搜索。使用存在效率更高。官方文档也明确了这一点:

Note: Don’t use this if all you want to do is determine if at least one result exists. It’s more efficient to use exists().

所以你的查询会变成这样:

Item.objects.filter(item_name__iexact=name).exists()

关于python - 如何有效地检查数据库中是否存在名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56683159/

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