フォームに入力された値をチェックするときに、すでにDBに保存済みの値と比較する方法がわからなかったのでメモ。
self.instance.モデルフィールド名
で取得できる。
models.py
class Order(models.Model):
quantity = models.IntegerField(verbose_name='注文数')
forms.py
def clean_quantity(self):
new_val = self.cleaned_data['quantity']
if new_val > self.instance.quantity + 10:
raise forms.ValidationError("注文数の追加は10までです")
return new_val