【发布时间】:2013-02-18 15:19:24
【问题描述】:
我正在为我的 Django 应用程序构建一个 csv 导入表单,并希望在 ModelFormSet 中显示要导入的行以进行验证。
因此,我向相关的ModelAdmin 添加了一个视图,该视图从 csv 读取行并打印ModelFormSet(queryset=an_empty_queryset, initial={data_from_the_csv})。
问题是模型通过ForeignKey 字段引用了其他三个模型,并且对于表单集中的每个表单中的每个字段,发出数据库查询以填充ModelChoiceField 的选项。
为什么 Django 不缓存表单(因为它被多次使用)或者已经有一种方法可以完成这个我还不知道?
【问题讨论】:
-
django1.5 有模型内存缓存。
-
你说得对(docs.djangoproject.com/en/1.5/releases/1.5/…),但不幸的是它不会影响这个问题。
-
我做了一个小技巧来解决这个问题:stackoverflow.com/a/43105646/8450
标签: django django-forms django-database