1

最近我为我的项目启动了一个 API django-tastypie。实际上我想在发布请求中排除一些字段要求。

假设我的模型有四个字段,并且它们都定义为django模型中的要求。但我想从 API 请求中接收其中两个,另外两个将由我的函数填充。

那么,我怎么能告诉tastypie只接收这两个字段并跳过其他字段呢?

4

1 回答 1

0

如果你想排除相同的字段,你可以通过在资源的元类中定义它来做到这一点,例如:

class MyResource(ModelResource):
     class Meta:
         excludes = (field1, field2)

对于此资源,每次都将排除这些字段。

但是,如果您只想在帖子上获取不同的字段,我这样做的方式是通过覆盖脱水方法:

def dehydrate(self, bundle):
     if bundle.request.META['REQUEST_METHOD'] == 'POST':
         bundle.data = dict(my_field1=bundle.obj.my_func1(),
                            my_field2=bundle.obj.my_func2()
                            )
     return bundle
于 2013-04-20T23:47:03.407 回答