1

在此过程中,如何最好地使用另一条记录的内容hydrate填充 TastyPie 资源中的字段?

hydrate在资源中定义了以下函数来填充模型中的“元”字段:

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

这正是我想要它做的,但它肯定是混乱的!

请注意,我正在提取字段的内容并将某些字段以对象形式保存到“元”字段。这是因为员工记录会随时间而变化,我想要在创建此记录时对其进行快照。

有没有更直接的方法可以引用和提取资源的内容以分配给这个“元”字段?

4

0 回答 0