我有一个Tastypie ModelResource,它从常规Django模型中获取其字段.我想在Tastypie资源上使某些字段只读,即使它们在底层模型中是可写的.这有可能以简单的方式完成吗?
我试过以下无济于事:
def __init__(self, **kwargs):
super(ModelResource, self).__init__(**kwargs)
for f in getattr(self.Meta, 'read_onlys', []):
self.fields[f].read_only = True
Run Code Online (Sandbox Code Playgroud)
通常我会在水合/脱水过程中做这样的事情。
或许还有其他方法,
def hydrate(self, bundle):
if bundle.obj.pk:
bundle.data['somefield'] = bundle.obj.somefield
else:
bundle.data.pop('somefield', None) # no KeyError if 'somefield' missing
return super(MyResource, self).hydrate(bundle)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1634 次 |
| 最近记录: |