我在其中一個用戶輸入價格的表單中有一個 DecimalField。
假設用戶輸入 11.00,現在當我在 (priceform.cleaned_data) 中檢索它時,它會回傳
Decimal('11.00')
所以看起來像
price = Decimal('11.00')
當我嘗試將其插入資料庫時??會觸發驗證錯誤。
我對此沒有任何解決方案
模型.py
class Bid(models.Model):
title = models.CharField(max_length=64, blank=True)
date_time = models.DateTimeField(default=timezone.now, blank=True)
price = models.DecimalField(max_digits=10, decimal_places=2)
user = models.CharField(max_length=64)
表格.py:
class BidForm(ModelForm):
class Meta:
model = Bid
fields = ['price']
視圖.py:
if request.method == "POST":
bidform = BidForm(request.POST)
if bidform.is_valid():
price = bidform.cleaned_data['price']
bid = Bid.objects.create(title=title, price=bidform, user=username)
bid.save()
uj5u.com熱心網友回復:
price應該是,而price不是bidform:
if request.method == 'POST':
bidform = BidForm(request.POST, request.FILES)
if bidform.is_valid():
bid = Bid.objects.create(
title=title,
price=bidform.cleaned_data['price'],
user=username
)
但是,您可以讓表單完成作業:
if request.method == 'POST':
bid = Bid(
title=title,
user=username
)
bidform = BidForm(request.POST, request.FILES, instance=bid)
if bidform.is_valid():
bid = bidform.save()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/531285.html
標籤:django十进制
