有没有办法可以使用字典保存模型
例如 这工作正常,
p1 = Poll.objects.get(pk=1)
p1.name = 'poll2'
p1.descirption = 'poll2 description'
p1.save()
但如果我有{'name'字典:'poll2','description:'poll2 description'}
是否有一种简单的方法可以将此类词典直接保存到民意调查
答案 0 :(得分:22)
__dict__
属性来执行此操作:
p1.__dict__.update(mydatadict)
p1.save()
答案 1 :(得分:20)
您可以打开字典,使其键和值像命名参数一样:
data_dict = {'name': 'foo', 'description': 'bar'}
# This becomes Poll(name='foo', description='bar')
p = Poll(**data_dict)
...
p.save()
答案 2 :(得分:0)
我发现只有此变体对我有效。 同样在这种情况下,所有信号都会被正确触发
CMD [ "sh", "-c", "java -Dserver.port=$PORT -Xmx300m -Xss512k -Dfile.encoding=UTF-8 -Dspring.profiles.active=prod -Djava.security.egd=file:/dev/./urandom -jar /opt/application.jar" ]
答案 3 :(得分:0)
您可以通过在过滤器集上使用 update 来实现这一点:
例如:
data = { 'name': 'poll2', 'description: 'poll2 description' }
p1 = Poll.objects.filter(pk=1)
p1.update(**data)
注意事项:
.update
不会触发信号if p1.count() == 1: ...
__
方法(例如 __dict__.