擅长:python、mysql、java
<p>有点晚了,但也许这会对某人有所帮助。在</p>
<p>我的解决方案是重写<code>update_in_place</code>并检查传递的数据。在</p>
<pre><code>from tastypie.resources import ModelResource
from tastypie.exceptions import BadRequest
class MyResource(ModelResource):
class Meta:
...
allowed_update_fields = ['field1', 'field2']
def update_in_place(self, request, original_bundle, new_data):
if set(new_data.keys()) - set(self._meta.allowed_update_fields):
raise BadRequest(
'Only update on %s allowed' % ', '.join(
self._meta.allowed_update_fields
)
)
return super(MyResource, self).update_in_place(
request, original_bundle, new_data
)
</code></pre>