簡體   English   中英

Django Ninja API 用戶框架 Pydantic 模式 model 省略字段

[英]Django Ninja API framework Pydantic schema for User model ommits fields

使用 Ninja API 框架運行 Django 的項目。 要序列化本機 Django 的用戶 model,我使用以下 Pydantic 架構:

class UserBase(Schema):
    """Base user schema for GET method."""

    id: int
    username = str
    first_name = str
    last_name = str
    email = str

但是,這種方法給了我回應:

{
  "id": 1
}

字段rest在哪里?

以為這種方法給了我一個完整的數據響應:

class UserModel(ModelSchema):
    class Config:
        model = User
        model_fields = ["id", "username", "first_name", "last_name", "email"]

來自 ModelSchema 的響應:

{
  "id": 1,
  "username": "aaaa",
  "first_name": "first",
  "last_name": "last",
  "email": "a@aa.aa"
}

看起來問題是您沒有為其他字段指定類型。 只需在所有字段的模式中將=替換為:

class UserBase(Schema):
    """Base user schema for GET method."""

    id: int
    username: str # not =
    first_name: str
    last_name: str
    email: str

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM