我想從2個django表單發佈數據,但無法將數據保存到我的數據庫。 這是爲什麼?在我按下提交按鈕之後,我在價格輸入框下面看到消息「它是必需的」。當我用django表單提交時出現錯誤
我的觀點
def addproduct(request):
user = request.user
product_form = ProductForm(request.POST or None)
product_image_form = ProductImageForm(request.POST or None)
if product_form.is_valid() and product_image_form.is_valid():
product = product_form.save(commit=False)
product.user = request.user
product.slug = slugify(product_form.cleaned_data['title'])
product.featured = False
product.active = False
product.save()
product_image = product_image_form.save(commit=False)
product_image.featured = False
product_image.save()
return HttpResponseRedirect('/products/%s'%(product.slug))
我的模型
class Product(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True)
title = models.CharField(max_length=120)
description = models.TextField(null=True, blank=True)
price = models.DecimalField(decimal_places=0, max_digits=100, default=0)
slug = models.SlugField(unique=True)
class ProductImage(models.Model):
product = models.ForeignKey(Product)
image = models.ImageField(upload_to='products/images/')
featured = models.BooleanField(default=False)
我的形式
from django import forms
from .models import Product, ProductImage
class ProductForm(forms.ModelForm):
class Meta:
model = Product
fields = ('title', 'description', 'price')
class ProductImageForm(forms.ModelForm):
class Meta:
model = ProductImage
fields = ('image', 'featured')
您需要提供您的模板代碼。除非你明確聲明'blank = True',否則所有Django表單域都是必需的*默認* – Brandon