首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只限于Pydantic颜色类型

只限于Pydantic颜色类型
EN

Stack Overflow用户
提问于 2022-07-29 16:46:10
回答 1查看 160关注 0票数 1

我有一种有颜色特性的化脓性模型

代码语言:javascript
复制
from pydantic import BaseModel
from pydantic.color import Color

class MyModel(BaseModel):
    color: Color

我定义了FastAPI路由器,它返回MyModel

代码语言:javascript
复制
@router.get("/", response_model=MyModel)
async def get_my_model() -> MyModel:
    item = await DbItem.get()
    return MyModel(**item.dict())

在此设置中,pydantic将颜色转换为指定颜色(例如,black)。

我的前额不认识名字的颜色。

我怎么才能指出平阳还六角形颜色?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-29 16:54:59

使用Color.as_hex

代码语言:javascript
复制
from pydantic import BaseModel
from pydantic.color import Color


class MyModel(BaseModel):
    color: Color


my_model = MyModel(color=Color("black"))
print(my_model.color.as_hex())  # '#000'

要在响应中获得十六进制值,可以添加自定义json编码器

代码语言:javascript
复制
class MyModel(BaseModel):
    color: Color

    class Config:
        json_encoders = {Color: lambda c: c.as_hex()}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73168575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档