我正在为表单创建通用的save
方法。
在保存中,我想迭代字段,如果字段是FileField的实例,则执行某些操作
def save(self, commit=True):
obj = super().save(commit=False)
for field in self.fields:
if isinstance(field, forms.FileField) and obj:
这不起作用,因为如果我检查字段的类型是str
。我怎样才能获得真实的模型或声明的类型?
答案 0 :(得分:0)
我找到了答案:self.fields是一个OrderedDictionary,所以我在迭代键而不是迭代值:
for field,value in self.fields.items():
if isinstance(value, forms.FileField) and obj: