使用Union从Tastypie API查询多个资源?

时间:2013-10-22 22:04:13

标签: django angularjs tastypie

我是否可以从单个Tastypie API调用中查询多个资源,结果会返回UNION个结果?

我有一个input字段,我要求用户输入名称员工ID 。如果可能的话,我想避免将字段拆分为两个,我希望输入负担在系统而不是用户。

我想从两个不同的资源中提取数据。 Person可以是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 PersonResource中不存在的员工John Doe来自EmployeeResource
  • Hank Doe,一名存在于PersonResource的员工,因此从那里撤离。

我以前直接从Django模型做过这个,做了两个单独的调用,然后将它们与一个简单的循环组合在一起。我现在正尝试通过$http调用从AngularJS进行查询,并希望在一次调用中进行查询。

如何向Tastypie发出一个$http请求并从两个资源中获取?

0 个答案:

没有答案