我使用django1.11.10和python3.6;我需要在admin中迭代form
值。怎么做?在
class ServerForm(forms.ModelForm):
class Meta:
model = Server
def clean(self):
setattr(self, 'field1', 'value1')
setattr(self, 'field2', 'value2')
class ServerAdmin(admin.ModelAdmin):
form = ServerForm
def save_model(self, request, obj, form, change):
# this works
# but how to iterate form?
obj.field1 = form.field1
obj.field2 = form.field2
# AttributeError: 'ServerForm' object has no attribute 'items'
for key, value in form.items():
setattr(obj, key, value)
super(ServerAdmin, self).save_model(request, obj, form, change)
迭代
form
对象的属性与迭代任何其他python对象的属性相同。使用dir()
。见here不清楚为什么要在clean方法中对表单设置属性:
如果在窗体实例上设置属性,则不必在
^{pr2}$save_model
方法中进行设置:相关问题 更多 >
编程相关推荐