解包类定义以在对象之间共享变量名

2024-04-20 09:57:17 发布

您现在位置:Python中文网/ 问答频道 /正文

虽然有更好的方法来表达这个问题,但这个想法很简单。你知道吗

我有两节课。包裹和包裹请求。ParcelRequest在API中用于请求具有给定参数和

实际上,ParcelRequest需要与Parcel相同的所有参数,但需要一个额外的quantity值。你知道吗

from pydantic import BaseModel

class Parcel(BaseModel):
    length: float
    width: float
    height: float
    weight: float


class ParcelRequest(BaseModel):
    length: float
    width: float
    height: float
    weight: float
    quantity: int

是否有办法在修改包裹时保持包裹和包裹请求“同步”?你知道吗

from pydantic import BaseModel

class Parcel(BaseModel):
    length: float
    width: float
    height: float
    weight: float


class ParcelRequest(BaseModel):
    # unpack Parcel attributes here
    quantity: int

注意:在这个特殊的例子中,我们不能改变传入请求的结构。也就是说,我们不能简单地将“parcel”属性包含到引用parcel对象的ParcelRequest中,因为它会改变请求的结构。你知道吗

问题是能否做到这一点。但是作为奖励,应该这样做吗?我的信念是,虽然API将随着packet的发展而保持最新,但是开发人员可能会无意中通过更新packet破坏API,除非经过仔细处理并且没有进行适当的测试。你知道吗


Tags: fromimportapi参数floatwidthlengthquantity
1条回答
网友
1楼 · 发布于 2024-04-20 09:57:17

不要重复您自己的话,请说出要从中继承的类:

class MetaParcel(BaseModel):
    length: float
    width: float
    height: float
    weight: float


class ParcelRequest(MetaParcel):
    quantity: int

相关问题 更多 >