1

设置(龟甲模型):

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)
4

1 回答 1

1

为此,我必须执行以下操作:

Fingers_dto = pydantic_queryset_creator(Finger)
hand = await Hand.get(pk=id)
return await Fingers_dto.from_queryset(hand.fingers.all())
于 2021-08-08T14:34:26.567 回答