두 django 양식의 데이터를 게시하고 싶지만 데이터를 내 db에 저장할 수 없습니다. 왜 그럴까요? 제출 버튼을 누른 후 가격 입력란 아래에 "필수 항목"이라는 메시지가 나타납니다. 당신이 얻을장고 양식과 함께 제출할 때 오류가 발생했습니다.
내보기
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