在django中为模型创建具有动态列的实例

时间:2013-10-05 06:01:47

标签: python django django-models django-views

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

我找到了一个帮助我进行过滤的链接,但我想知道如何对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)

任何帮助将不胜感激。

1 个答案:

答案 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