READ_ONLY 設置爲真,以確保序列化的表示當該字段被使用,但反序列化期間更新實例時不被使用。
默認爲false
需要 通常如果反序列化期間未提供字段中的錯誤將被提高。如果在反序列化過程中不需要此字段,則設置爲false。
默認爲True。
所以我其中有一個字段,其不可爲空的模型,但我想它在pre_save方法來填充,所以我的字段設置爲串行required=False
,但似乎並沒有工作。保存記錄時,我仍然遇到錯誤。
class FavoriteListSerializer(serializers.ModelSerializer):
owner = serializers.IntegerField(required=False)
class Meta:
model = models.FavoriteList
更新: 我已經加入serializer_class = serializers.FavoriteListSerializer
到視圖集,現在不是讓This field is required
,我認爲有過去的驗證,但隨後我得到This field cannot be null.
我已經檢查沒有被執行,任何想法的pre_save方法?
嗯,我看到了,根據你的回答,我嘗試添加驗證器= []串行器領域,仍然無法正常工作。這種東西不像廣告中那樣工作...... –
您是否添加了'get_validation_exclusions()'方法?它覆蓋模型上現有的驗證。 –
是的,添加該方法後工作。我試圖添加validators = []以避免覆蓋get_validation_exclusions(),但它不起作用 –