我有一個簡單的問題,我不確定處理它的最佳方法。我有一個架構定義如下:處理可選字段驗證
class MySchema(Schema):
title = fields.String(required=True)
imageUrl = fields.Url()
imageUrl
是一個可選字段,有時它會是None/null。如果發生這種情況,那就沒關係,它不需要成爲有效的網址。但我當我這樣做:
my_schema.load(request.get_json())
上放的輸入數據,URL字段中記錄一個錯誤:Field may not be null.
我想在呼叫使用partial=True
加載會的工作,但事實並非如此。我也不喜歡這樣,因爲這不是一個部分,它是完整的對象,它只是發生在我的一些字段在數據庫中可以爲空。
如何讓棉花糖在imageUrl非空時驗證,但當它爲空時忽略它?
謝謝,但不幸的是,這是行不通的。如果請求出現在imageUrl = None中,則默認設置無效,並且驗證仍然失敗。如果在imageUrl完全丟失的情況下發出請求,則不存在驗證錯誤,但密鑰不會添加到加載的請求中。 – lostdorje