第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 webargs 從查詢參數(shù)中按值解析枚舉?

如何使用 webargs 從查詢參數(shù)中按值解析枚舉?

楊__羊羊 2023-09-26 16:52:15
我有下一個枚舉:class EStatus(enum.IntEnum):    NEW = 0    MODIFIED = 1和架構(gòu):ARGS = {    'status': EnumField(EStatus, by_value=True, required=False)}在 Flask 中我聲明了 GET 方法webargs:@use_args(ARGS, location='query')def get(self, args: Dict[str, any]):    return []它失敗并出現(xiàn)錯誤:{'messages': {'query': {'status': ['Invalid enum value 1']}}, 'schema': <GeneratedSchema(many=False)>, 'headers': None}我在調(diào)試器中檢查過它,發(fā)現(xiàn)EnumField調(diào)用了EStatus(value). 問題是我的值是str類型,因為它來自查詢參數(shù)。如何在通話之前將EnumField其投射到?intEStatus(value)
查看完整描述

1 回答

?
RISEBY

TA貢獻1856條經(jīng)驗 獲得超5個贊

class EStatus(enum.IntEnum):

    NEW = 0

    MODIFIED = 1


  @staticmethod

    def from_str(e_status: str):

        e_status = e_status.upper()

        if e_status in EStatus.__members__:

            return EStatus[e_status]

        else:

            raise ValueError(f'{e_status} is not a valid EStatus.')


#You can use above from_str like below,

EStatus e_status = EStatus.from_str('NEW')

print(e_status.name)

print(e_status.value)

希望對于您的問題,您應(yīng)該能夠使用 from_str staticmethod 將 str 轉(zhuǎn)換為 Enum 類型。


查看完整回答
反對 回復(fù) 2023-09-26
  • 1 回答
  • 0 關(guān)注
  • 105 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號