Django-tastypie - 如何包含选择?

时间:2013-03-16 11:13:47

标签: python django rest tastypie

我有一个像这样的模型字段

location_state = models.CharField(max_length=255, null=True, blank=True, choices=STATE_CHOICES)

它的值由tastypie返回,但是为了呈现列表框,需要列出所有可用选项。 通过资源公开此类选择的最佳方式是什么?

2 个答案:

答案 0 :(得分:1)

由于某种原因,我无法找到一种简单的方法来获取选择,但这样做会有所帮助。

YourModel._meta.get_field('location_state').choices

您应该注意,_meta是一个内部实现细节,但是依赖于大量的应用程序和扩展,因此它应该相对安全使用。

答案 1 :(得分:1)

我会使用built-in schema通知客户有关字段选项的信息。但是,默认情况下,选项选项不包含在架构资源中。 This thread显示了如何实现这一目标的一种方式。

编辑2013-03-19

或者,您可以使用/覆盖ModelResource中的alter_list_data_to_serialize方法将您的选择添加到元字段。