最近我通过django-tastypie
为我的项目启动了一个API。实际上我想在帖子请求中排除一些字段要求。
假设我的模型有四个字段,并且所有字段都在django
模型中定义为require。但我希望从API请求中收到其中两个,其他2个将由我的函数填充。
那么,我怎么能告诉tastypie
只接收这两个字段并跳过其他字段?
答案 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