1 回の Tastypie API 呼び出しから複数のリソースを照会して、結果を一連の結果として返すことはできUNION
ますか?
ユーザーに名前または従業員 IDinput
を入力するように求める単一のフィールドがあります。可能であれば、フィールドを 2 つに分割することは避けたいと思います。入力の負担をユーザーではなくシステムに負わせたいと考えています。
2 つの異なるリソースからデータを取得したいと考えています。Aは、会社で働いていない人またはゲストで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
。 - soに存在しない従業員の John Doe
PersonResource
が から引き抜かれEmployeeResource
ます。 - そこに存在する従業員であるハンク・ドウ
PersonResource
がそこから引き抜かれます。
以前、これを Django モデルから直接実行し、2 つの個別の呼び出しを作成してから、それらを単純なループで結合しました。私は今、呼び出しを介して AngularJS からクエリを作成しようとしています$http
が、1 回の呼び出しでそれを実行したいと考えています。
$http
Tastypie に1 つのリクエストを送信して、2 つのリソースから取得するにはどうすればよいですか?