1

我可以从一个 Tastypie API 调用中查询多个资源,并将结果作为结果返回UNION吗?

我有一个input字段,我要求用户输入他们的姓名员工 ID。如果可能的话,我想避免将字段分成两部分,我希望输入负担由系统而不是用户承担。

我想从两个不同的资源中提取数据。APerson可以是Employee不为公司工作的客人或客人。安Employee就是这样。

class EmployeeResource(ModelResource):
    '''
    Resource of all company employees
    '''
    class Meta:
        filtering = {
            "empid": ['exact', 'startswith']
        }
        resource_name = 'employee'
        queryset = Employee.objects.all()

class PersonResource(ModelResource):
    '''
    Resource of employees and guests who have visited the lab
    '''
    employee = fields.ForeignKey(EmployeeResource, 'empid', blank=True, null=True, full=True)

    class Meta:
        resource_name = 'person'
        queryset = Person.objects.all()
        filtering = {
            "name": ['icontains'],
            "employee": ALL_WITH_RELATIONS
        }

我想设置一个 Tastypie 资源查询,它将从两个表中提取值,并忽略重复项。

例如,当我查询“Doe”时,它会提取 3 条记录:

  • Jane Doe,一名非员工,从PersonResource.
  • John Doe,一个在 so 中不存在的 EmployeePersonResource被拉出EmployeeResource
  • 存在于so中的员工Hank DoePersonResource被从那里拉出来。

我以前直接从 Django 模型中完成了这项工作,进行了两个单独的调用,然后将它们与一个简单的循环结合起来。我现在正在尝试通过$http调用从 AngularJS 进行查询,并且希望在一次调用中进行查询是可能的。

$http我怎样才能向 Tastypie发出一个请求并让它从两个资源中提取?

4

0 回答 0