0

我想创建一个模型的实例,但是当键是字段名称并且值是字段值时,我在字典中有字段。

我找到了一个帮助我过滤的链接,但我想知道如何处理实例。当我尝试创建它时,它向我显示以下错误:

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)

任何帮助将不胜感激。

4

1 回答 1

3

dict与参数解包语法一起使用:

if not model_class.objects.filter(**dict).exists():
    a = model_class.objects.create(**dict)

或者

a, created = model_class.objects.get_or_create(**dict)

顺便说一句,不要dict用作变量名。它隐藏了内置函数dict

于 2013-10-05T06:06:01.850 回答