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