を外部キークエリセットを追加することにより、クエリセットを作成します。DRFは、私が<strong>親モデルのクエリセット</strong>に<strong>外国データに(子供モデル)</strong>を取得したい、それに
私は親データに外国データを追加することができていますが、それはJSONです。 JSONをget_queryset()がモデル/クエリーセットを返すので、そのクエリーセットに変換したいのですが。
私はたくさんのGoogle検索を行っていますが、役に立たないものは見つかりませんでした。
class Parent(models.Model):
parent_name = models.TextField()
child = models.ForeignKey(Child, related_name="+", on_delete=models.CASCADE, null=True)
class Child(models.Model):
child_name = models.TextField()
class ParentViewSet(viewsets.ModelViewSet):
queryset = Parent.objects.all()
serializer_class = ParentInfoSerializer
filter_backends = (filters.DjangoFilterBackend,)
filter_fields = ['parent_name']
def get_queryset(self):
response = []
parent_name = self.request.GET.getlist("parent_name")[0]#
parent_queryset =
Parent.objects.filter(parent_name=parent_name)
for par_queryset in parent_queryset:
parent_result = self.serializer_class(phy_queryset).data
child_id = physician_info_result["child"]
child_instance = Child.objects.get(pk=child_id)
child_result = ChildSerializer(child_instance).data
parent_result["child"] = child_result
response.append(parent_result)
return response
URL -
http://localhost:9000/api/parent?parent_name=xyz
応答出力は次のとおりです。
[{ "PARENT_NAME": "XYZ"、 "子":[{ 「ID ":1 " child_name ":" abc " }] } ]
しかし、出力の上に、それは私がはしたくないJSONです。 queryset/modelに出力します。
:クエリーセットの出力には、外部クエリーセットが含まれている必要があります。
@Ivan Semochkinと同意します。 – CrazyGeek