排除tastypie帖子数据中的一些字段

时间:2013-04-15 08:03:00

标签: python django tastypie

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

假设我的模型有四个字段,并且所有字段都在django模型中定义为require。但我希望从API请求中收到其中两个,其他2个将由我的函数填充。

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

1 个答案:

答案 0 :(得分: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