我想创建一个模型的实例,但我在字典中有字段,当键是字段名称且值是字段值时。
我找到了一个帮助我进行过滤的链接,但我想知道如何对e实例进行操作。当我尝试创建它时,它向我显示以下错误:
create只需要1个参数(给定2个)
q = Q()
for k,v in dict.iteritems():
q &= Q(**{'%s' % k: v})
if not model_class.objects.filter(q).exists():
a = model_class.objects.create(q)
任何帮助将不胜感激。
答案 0 :(得分:3)
将dict
与参数解包语法一起使用:
if not model_class.objects.filter(**dict).exists():
a = model_class.objects.create(**dict)
OR
a, created = model_class.objects.get_or_create(**dict)
顺便说一句,不要使用dict
作为变量名。它影响内置函数dict
。