Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用django检查postgresql数据库中是否存在某些内容?_Python_Database_Django_Postgresql - Fatal编程技术网

Python 如何使用django检查postgresql数据库中是否存在某些内容?

Python 如何使用django检查postgresql数据库中是否存在某些内容?,python,database,django,postgresql,Python,Database,Django,Postgresql,我想检查数据库中的行是否已经包含特定的输入。如果它确实存在,请防止再次添加,如果不存在,请像正常情况一样添加它 我如何询问数据库是否存在某些内容,而不将所有内容从数据库中取出以进行检查?您的问题的答案是“是”。但是,我认为您还应该研究查询数据库的替代方法;在不希望存在重复项的字段集上创建唯一键 现在,回答你的问题。查看Django文档以进行查询: 简而言之,如果您有一个对象的数据模型,那么Thing.objects就是访问查询的接口。从文档中(使用Blog条目,以字符串字段“headline”

我想检查数据库中的行是否已经包含特定的输入。如果它确实存在,请防止再次添加,如果不存在,请像正常情况一样添加它


我如何询问数据库是否存在某些内容,而不将所有内容从数据库中取出以进行检查?

您的问题的答案是“是”。但是,我认为您还应该研究查询数据库的替代方法;在不希望存在重复项的字段集上创建唯一键

现在,回答你的问题。查看Django文档以进行查询:

简而言之,如果您有一个对象的数据模型,那么Thing.objects就是访问查询的接口。从文档中(使用Blog条目,以字符串字段“headline”为例):

该接口的全部功能是您对数据库的期望(除了精确匹配之外,还有一组丰富的数据比较)。我建议您针对具体问题进一步查看文档。

您可以使用

Entry.objects.filter(name='name', title='title').exists()
这将返回真/假值。当您使用count时,orm生成的查询将比exists方法执行的时间长得多。当对象不存在时,get方法将引发异常

request.POST是一个字典,用于检查您使用的数据库,即:

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

是的,在本例中,Entry是模型的类。用户提供的值通过request.POST['cashcode']而不仅仅是request.POST显示。字典查找很重要。您可以将字典字符串更改为unicode:即unicode('string')或u'string'。如果实例已存在可能的重复项,您可以帮助我(使用javascript或任何)提供alertbox吗
Entry.objects.filter(name=request.POST['name'], title=request.POST['title']).exists()