【发布时间】:2011-08-18 05:35:06
【问题描述】:
我想知道为现有 Django 模型对象的多个字段设置值的最佳方法。我有一个包含许多字段的模型:
class Foo(models.Model):
Field1 = models.CharField(max_length=40)
Field2 = models.CharField(max_length=40)
Field3 = models.CharField(max_length=40)
etc...
我还有一个字典,其中包含对特定记录的这些字段子集的更改:
data = {'field1': 'value1', 'field5': 'value5', 'field7': 'value7'}
record = Foo.objects.get(pk=1)
我想用data 中的新值设置record 中的字段。解决此问题的最佳方法是什么?有没有办法解压字典并让它修改记录中的相应字段?我意识到我可以使用以下方法遍历字典:
for k, v in data.iteritems():
setattr(entry, k, v)
entry.save()
我在想可能有一种方法可以调用类似的东西:
entry.set_values(**data)
有这样的事情还是我走错了路?
【问题讨论】:
标签: python django django-models