在我的 ModelForm 的 save() 方法中,我正在访问 self.changed_data 并且我想做类似的事情:
changes_moderated_dict.update(dict(
[(i, staff.profile.user.__dict__[i])
for i in changed_data
if i in staff.profile.user.__dict__]))
如果在 changed_data 中找到键,则使用 staff.profile.user 键/值对更新 changes_moderated_dict。changes_moderated_dict 基本上用于存储对表单中这个特定模型所做的所有字段更改(用于以后的处理和序列化)。
只要 staff.profile.user 不是外键关系,这一切正常,在这种情况下,归档名称具有 _id 后缀并且不会与 self.changed_data 字段名称匹配,后者是出现在中的属性名称模型(没有_id)。
有没有办法将模型的 __dict__ 中的外键属性解析为其实际名称,以便上述方法仍然有效?