原文:关于django中的get_or_create方法的坑

最近在项目中发现了这样的一个坑,那就是我们的需求是不能添加一个相同的对象到数据库中,就通过某些字段的值组合成唯一值到数据库中去查找数据,如果没有找到对象,那就创建一条新的数据库记录,而刚好django又提供了这种方法,那就是get or create。可是在测试的时候发现会加入相同的对象。 而解决方法就是:其实我们可以从数据库级别来使这几个字段组合唯一,这样如果有重复的数据就会加不进去。 clas ...

2020-01-18 13:54 0 2414 推荐指数:

查看详情

django - get_or_create() 使用提醒

[omron - debug] user_id建表的时候,不能使用unique,因为一个用户,可能有多个product_id,相对应的是,get_or_create()的查询参数,如果在建表中有unique,那么get_or_create()就只能唯一使用这个参数. 1. 准则 ...

Thu May 29 19:22:00 CST 2014 0 9980
get_or_create函数

get_or_create(defaults=None, **kwargs) 一个通过给出的kwargs 来查询对象的便捷方法(如果你的模型的所有字段都有默认值,可以为空),需要的话创建一个对象。 返回一个由(object, created)组成的元组,元组的object 是一个查询 ...

Mon Oct 01 01:18:00 CST 2018 0 4422
Django create和save方法

Django的模型(Model)的本质是类,并不是一个具体的对象(Object)。当你设计好模型后,你就可以对Model进行实例化从而创建一个一个具体的对象。Django对于创建对象提供了2种不同的save与create方法,我们来仔细分析下这两种方式有什么不同。 我们来先看看下面这个例 ...

Wed Mar 13 18:17:00 CST 2019 0 2169
django的objects.get和objects.filter方法的区别

为了说明它们两者的区别定义2个models 一.先说下django的obj.get(): djangoget是从数据库的取得一个匹配的结果,返回一个对象,如果记录不存在的话,它会报错。 比如我数据库里有一条记录,记录的name的值是"django"的话,我用student ...

Mon Mar 05 06:05:00 CST 2018 0 26469
django的objects.get和objects.filter方法的区别

为了说明它们两者的区别定义2个models 一.先说下django的obj.get(): djangoget是从数据库的取得一个匹配的结果,返回一个对象,如果记录不存在的话,它会报错。 比如我数据库里有一条记录,记录的name的值是"django"的话,我用student ...

Thu Mar 28 17:36:00 CST 2019 1 1477
Django创建对象的create和save方法

Django的模型(Model)的本质是类,并不是一个具体的对象(Object)。当你设计好模型后,你就可以对Model进行实例化从而创建一个一个具体的对象。Django对于创建对象提供了2种不同的save与create方法,我们来仔细分析下这两种方式有什么不同。 我们来先看看下面这个例 ...

Sun Jul 28 00:48:00 CST 2019 0 754
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM