设置(龟甲模型):
class Hand(BaseModel):
id: int
fingers: fields.ReverseRelation["Finger"]
class Finger(BaseModel):
id: int
hand: fields.ForeignKeyField(model_name="models.User", related_name="fingers", null=True)
假设我们有一只手的 id,我们想将其所有相关的手指返回给用户。我应该如何为它创建pydantic模型,我应该如何查询所有提到的手指?
到目前为止我尝试过的(没有运气):
#1
Fingers_dto = pydantic_queryset_creator(Finger)
hand = await Hand.get(pk=id).prefetch_related("fingers")
return await Fingers_dto.from_queryset(hand.fingers)
#2
Fingers_dto = Finger.create_query_set()
hand = await Hand.filter(pk=id)
await hand.fetch_related("fingers")
return await Fingers_dto.from_queryset(hand.fingers)