你在做什么 with 块并没有太多意义。实例化一个新的表单对象,由于某种原因,将它从文件中解析的名称传递给通常的POST数据。然后,修改模型的synonym_name 类 本身有相同的名单。最后,您忽略所有这些并调用现有表单的超类保存方法。
with
而不是所有这些,你想要做的只是修改从超类保存返回的对象,分配你的名字列表:
with open("../../Downloads/model_file_upload.txt", 'r') as f: model_file = File(f) names = model_file.read() obj = super(CompoundSynonymForm, self).save(commit=False) obj.synonym_name = names if commit: obj.save() return obj
虽然我不完全确定这是你想要做的;我假设您实际上想要扫描文件以查找与外键值匹配的同义词,但您没有显示任何代码来执行此操作。