如何在hydrate
进程中使用其他记录的内容最好地填充TastyPie资源中的字段?
我在资源中定义了以下hydrate
函数来填充模型中的“meta”字段:
def hydrate_meta(self, bundle):
'''
This will popular the `meta` field with a snapshot of the employee record, if the `empid` is set.
'''
if bundle.data['visitor']['empid']:
# split the employee resource so we can get to the actual empid number
empid_split = bundle.data['visitor']['empid'].split('/')
# query the employee record, the `-2` index is the actual empidinteger
meta_values = Employee.objects.filter(empid= empid_split[-2]).values('division', 'program', 'subprogram', 'base_city', 'base_state', 'base_country', 'group_abbr')[0]
for k, v in meta_values.iteritems():
meta_values[k] = v.encode('utf8')
bundle.data['meta'] = meta_values
return bundle
这正是我想要它做的,但它肯定是凌乱的!
请注意,我将该字段的内容拉出并将对象形式的某些字段保存到“meta”字段。这是因为员工记录可能会随着时间的推移而发生变化,我希望在创建此记录时创建快照。
是否有更直接的方法可以引用并提取资源内容以分配给此“元”字段?