我是否可以从单个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条记录:
PersonResource
。PersonResource
中不存在的员工John Doe来自EmployeeResource
。PersonResource
的员工,因此从那里撤离。我以前直接从Django模型做过这个,做了两个单独的调用,然后将它们与一个简单的循环组合在一起。我现在正尝试通过$http
调用从AngularJS进行查询,并希望在一次调用中进行查询。
如何向Tastypie发出一个$http
请求并从两个资源中获取?