django - 通过字段值检查项目是否存在于数据库中
问题描述
我有一个名为的类Product
,我想检查数据库中是否已经存在具有相同标题的产品。
class Product(models.Model):
title = models.CharField(max_length=255)
...
for (something in something):
check if db contains product with a title of 'Some Product'
解决方案
您可以使用.exists()
[Django-doc]:
Product.objects.filter(title='Some Product').exists()
unique=True
然而,使用[Django-doc]在数据库级别强制执行唯一性可能会更好:
class Product(models.Model):
title = models.CharField(max_length=255, unique=True)
那么如果数据库强制执行(大多数数据库都执行),则根本不可能Product
使用相同的title
.
您还可以使用[Django-doc]Product
获取 a ,或者如果它不存在则创建它:.get_or_create(…)
my_prod, created = Product.objects.get_or_create(title='Some Product')
推荐阅读
- javascript - 获取卡片对象数组并返回卡片的计数(加权值)
- javascript - Javascript中的递归函数显示NaN
- c++ - 即使在使用 skip_permission_denied 时,std::filesystem 递归迭代器也会抛出 permission_denied
- java - 在java中将不可序列化的对象转换为输入流
- vue.js - 让我的 vue 选择显示正确的选项
- go - 如何通过 client-go 和 golang 检索临时存储 kubernetes 指标
- visual-studio - Visual Studio 中方法和构造函数的括号自动补全
- python - 使用 pandas python 中的条件过滤数据框
- python - mac_os 中带有代理 ssl 错误的 python 请求
- configuration - 当父配置文件也具有相同的键时,有没有办法从子配置文件中获取值?