亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

FloatField __init__收到了意外的關鍵字參數'max_value'

FloatField __init__收到了意外的關鍵字參數'max_value'

精慕HU 2021-03-29 19:15:12
我最近問了這個問題,并按照最初所說的解決了我的問題。以下代碼有效:class FloatRangeField (FloatField):    """A FloatField constrained to a given range."""    def __init__ (self, minimum, maximum, **kwargs):        minmax = [MinValueValidator (minimum), MaxValueValidator (maximum)]        self.minimum = minimum        self.maximum = maximum        kwargs ['validators'] = minmax        FloatField.__init__ (self, **kwargs)    def deconstruct (self):        name, path, args, kwargs = super () .deconstruct ()        kwargs ['minimum'] = self.minimum        kwargs ['maximum'] = self.maximum        del kwargs ['validators']        return name, path, args, kwargsclass AffinityField (FloatRangeField):    """An affinity is a float from -1 (hate) to +1 (love)."""    def __init__ (self, **kwargs):        FloatRangeField.__init__ (self, -1.0, 1.0, **kwargs)    def deconstruct (self):        name, path, args, kwargs = super () .deconstruct ()        del kwargs ['minimum']        del kwargs ['maximum']        return name, path, args, kwargs但是,我不認為這是完整的。我是Django的新手,但是我的理解是,添加驗證器會約束模型愿意保存的數據,但與此分開的是,正如此答案所表明的那樣,在表單級別存在驗證。如果您需要表單級別的約束,則可以將min_value和max_value傳遞給表單字段:myfloat = forms.FloatField(min_value=0.0, max_value=1.0)我沒有任何可見的形式,但(剛開始學習?。?,所以我不知道是否有必要單獨做到這一點,但是從它的聲音我就必須要通過min_value和max_value以及驗證對象。這是我的嘗試:class FloatRangeField (FloatField):    """A FloatField constrained to a given range."""    def __init__ (self, minimum, maximum, **kwargs):        minmax = [MinValueValidator (minimum), MaxValueValidator (maximum)]        self.minimum = minimum        self.maximum = maximum        # Validators for the model        kwargs ['validators'] = minmax        # Arguments for the form validation        kwargs ['min_value']  = minimum        kwargs ['max_value']  = maximum這引發了一個異常:    FloatField.__init__ (self, **kwargs)TypeError: __init__() got an unexpected keyword argument 'min_value'但是根據文檔,該min_value參數是預期的,因此我不知道此錯誤的真正含義。我以為我了解字段解構函數的原理(刪除kwargs在子類中定義它們時不需要作為輸入的那些東西__init__),但也許不是。我使用min_valueand的方式出了什么問題max_value?
查看完整描述

1 回答

?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

看起來您混合了表單字段和模型字段。您在問題描述表格的中提供的鏈接FloatField。

但是默認情況下FloatField,您要自定義的模型沒有min_valuemax_value參數。


查看完整回答
反對 回復 2021-04-09
  • 1 回答
  • 0 關注
  • 198 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號