我在models.py中有一个非常大的模型:
简化版是:
class MyModel(models.Model):
item_1 = models.FloatField(null=True, blank=True)
...
item_20 = models.FloatField(null=True, blank=True)
在views.py中:
def form_valid(self, form_class):
instance = form_class.save(commit=False)
for i in range(1, 20):
name = 'item_' + str(i)
instance.name = i
如何迭代并保存我的模型?
有什么建议吗?
感谢!!!
答案 0 :(得分:0)
您应该使用setattr
来遍历字段并在其中设置值。试试这个:
def form_valid(self, form_class):
instance = form_class.save(commit=False)
for i in range(1, 20):
name = 'item_' + str(i)
setattr(instance, name, value) # Where value is the data you wanted to save in the field `name`
类似的用户getattr()
通过循环遍历类实例来获取数据。