我想判断数据库中的行是否已经包含特定输入.如果已经存在,则防止再次添加,如果不存在,则按正常方式添加.

我如何在不从数据库中取出所有内容以进行判断的情况下询问数据库是否存在某些内容?

推荐答案

您可以使用

Entry.objects.filter(name='name', title='title').exists()

这将返回TRUE/FALSE值.当您使用COUNT时,ORM生成的查询将比EXISTS方法中执行的时间长得多.当Object不存在时,Get方法将引发异常.

要求POST是一本字典,用于判断您使用的数据库,即:

Entry.objects.filter(name=request.POST['name'], title=request.POST['title']).exists()

Database相关问答推荐

如何调试Anylogic SQL数据库TLS错误?

获取总和列的比率

如何以编程方式在 C# 中创建 Microsoft Access 数据库?

NOSQL 非规范化数据模型

什么技术对处理数百万条记录最有效?

只用一个 save() 插入多行

Java中基于文件的数据库

SQL Server - 使用计数函数与相交

CouchDB 和 Lotus Notes 有什么区别?

如果限制在本地机器上,最好使用 R 和 SQL

我需要在这个 Django 模型中添加一个 db_index 吗?

为什么 MySQL 连接被许多连接错误阻止?

Django中的Atomic原子操作?

单父实体的核心数据性能

寻找示例数据库设计的好方法

有什么理由不应该在生产中使用 h2 数据库?

dbvisualizer:在 Select 查询中设置最大行数

如何在多列上创建 FULLTEXT 索引?

与内连接相反

位图索引有何帮助?