我正在寻找一种基于外部数据馈送创建带有一个下拉列表的简单ModelForm的方法。我想要这个的原因是能够通过django admin从外部源导入数据。为非数据库数据创建django查询集
一个例子可能是一个模型class BlogPost(models.Model)
与许多领域。在django admin的“创建新对象”中,它应该只是一个字段;来自外部博客的帖子列表。当用户在下拉列表中选择帖子并保存该对象时,BlogPost
的保存方法将从Feed中提取所有相关数据,并在BlogPost实例中设置相应的字段并将其保存到数据库中。
我被困在“获取外部数据并将其呈现在django管理员中”部分。从我所说的最好的方式来做到这一点,仍然能够使用django的标准组件将外部饲料包装在一个“非数据库,自定义查询集”,并将其传递给forms.ModelChoiceField
?有没有简单的方法来解决这个问题?
(我不是真正创建一个博客张贴偷窃者。我有一个视频存档后端是由我创建的网站完全独立的,我需要一个用户友好的方式从中导入数据)
我想我可以使用ChoiceField而不是ModelChoiceField,只要在每次渲染表单时对值进行求值。如果我说ChoiseField(选择= foo()),那么foo将仅被评估一次,而我无法为选择传递函数引用ChoiseField(choice = foo)。 – Vegard 2011-02-16 19:09:26