location_state = models.CharField(max_length=255, null=True, blank=True, choices=STATE_CHOICES)
其价值的模型场由tastypie返回,而是呈现一个列表框的所有可用选项的列表是必要的。 通过资源公开此类选择的最佳方式是什么?
location_state = models.CharField(max_length=255, null=True, blank=True, choices=STATE_CHOICES)
其价值的模型场由tastypie返回,而是呈现一个列表框的所有可用选项的列表是必要的。 通过资源公开此类选择的最佳方式是什么?
我会使用built-in schema来通知客户有关字段选项。尽管如此,默认情况下,模式资源中不包含选项选项。 This thread显示了一个方法如何实现这一点。
编辑2013年3月19日:
另外,您可以通过使用/覆盖在你的ModelResource
的alter_list_data_to_serialize
方法增加您的选择,元场。
我无法找到一个简单的方法,因为某种原因得到选择,但这会做到这一点。
YourModel._meta.get_field('location_state').choices
你应该注意到,虽然,_meta
是一个内部实现细节,但一直在与大量的应用和扩展,所以应该是比较安全使用的依据。
对不起,我没有阅读关于通过资源公开的最后一点。我没有使用tastypie,所以我不能对此发表评论。不过,使用django-piston,你只需构建一个包含所有必需字段(和额外)的自定义资源,而不是定义资源应该反思哪个模型的'modelform'方法。 – 2013-03-16 13:19:18
这将是一个额外的ajax请求 - 获取架构。是否有可能在json响应的“元”字段中添加选项? – AlexA 2013-03-18 11:38:51
编辑我的回复 – 2013-03-19 15:32:59