我想弄清楚我是否可以将模型字段choices
表示给使用tastypie API的客户端。在django-tastypie中,可以选择以模式显示吗?
我有一个django(1.4.1)应用程序,我正在实现一个django-tastypie(0.9.11)API。我有类似如下的型号和ModelResource:
class SomeModel(models.Model):
QUEUED, IN_PROCESS, COMPLETE = range(3)
STATUS_CHOICES = (
(QUEUED, 'Queued'),
(IN_PROCESS, 'In Process'),
(COMPLETE, 'Complete'),
)
name = models.CharFIeld(max_length=50)
status = models.IntegerField(choices=STATUS_CHOICES, default=QUEUED)
class SomeModelResource(ModelResource):
class Meta:
queryset = SomeModel.objects.all()
resource_name = 'some_model'
当我看API中的对象的名称和状态字段显示如下:
{
...
"objects":[
{
"name": "Some name 1",
"status": 0
},
{
"name": "Some name 2",
"status": 2
}]
}
我知道我可以改变SomeModelResource
用水合物/脱水方法显示如下状态的字符串值,这将对客户端具有更多价值:
{
...
"objects":[
{
"name": "Some name 1",
"status": "Queued"
},
{
"name": "Some name 2",
"status": "Complete"
}]
}
但是,客户如何知道可用的cho不知道SomeModel的内部工作情况,为状态字段添加冰点?
客户端创建系统中的对象可能不会提供状态,因为默认值QUEUED
是可取的。但客户端编辑对象需要知道状态的可用选项以提供有效的选项。
我想要在SomeModelResource的模式描述中列出选项,这样客户端可以在创建/编辑对象时反省可用选项。但我只是不确定这是否是开箱即用的,或者我应该派tastypie来介绍这种能力。
感谢您的任何反馈!
不错的一个... Tastypie应该默认做到这一点! – jrvidotti
我的资源根本没有调用该方法 – Harry