아무도 도와 드릴 수 있습니까? 이 코드의 문제점은 하나의 양식 만 저장되므로 양식이지만 bform은 저장되지 않기 때문입니다. 나는 어디로 잘못 갔습니까 ?? forms.pydjango : 두 개의 양식이 있지만 하나의 양식 만 저장 중입니다.
class customerForm(ModelForm):
F_NAME = forms.CharField(widget=forms.TextInput(attrs={'size':'34'}))
L_NAME = forms.CharField(widget=forms.TextInput(attrs={'size':'34'}))
EMAIL = forms.CharField(widget=forms.TextInput(attrs={'size':'19'}))
ADD = forms.CharField(widget=forms.TextInput(attrs={'size':'34'}))
class Meta:
model = customer
class buildingForm(ModelForm):
CUSTOMER = forms.CharField(widget=forms.TextInput(attrs={'size':'20'}))
B_FLOORSPACE = forms.CharField(widget=forms.TextInput(attrs={'size':'4'}))
B_YEAR = forms.CharField(widget=forms.TextInput(attrs={'size':'4'}))
class Meta:
model = building
widgets = {'B_USE' : RadioSelectNotNull(),
'B_TYPE' : RadioSelectNotNull(),
}
views.py
def customerView(request, **kwargs):
this_customer = customer.objects.get(id=kwargs['pk'])
if request.method == 'POST':
form = customerForm(request.POST, instance=this_customer)
bform = buildingForm(request.POST)
if form.is_valid() and bform.is_valid():
form.save()
bform.save()
else:
form = customerForm(instance=this_customer)
bform = buildingForm()
return render_to_response('customer.html',{'form':form, 'bform':bform,},
context_instance = RequestContext(request))
편집은 템플릿 customer.html을 추가 할 수있는 실수가 말하는 오류가 없습니다
<form action="" method="post">
<button type="submit" name="customer">Save</button>
{% csrf_token %}
{{ form.id }}
...more code...
<table>
<tr><td><div>First Name</div>{{ form.F_NAME }}</td></tr>
<tr><td><div>Last Name</div>{{ form.L_NAME }}</td></tr>
</table>
...more code....
<table>
<tr><td><div>Build Use</div></td><td>{{ bform.B_USE }}</td>
<td><div>Build Space</div></td><td>{{ bform.B_FLOORSPACE }}</td>
</tr>
...more code...
</form>
코딩. 도움 주셔서 감사합니다.
당신이 양식을 렌더링하는 템플릿의 일부를 게시 할 수 있습니까? –
'buildingForm'의'Meta' 클래스에'fields' 라인을 추가하고, 필드 생성자 대신에 use/type을 따라 widgets 옵션에 customer/floorspace/year 위젯을 지정해 보았습니까? – Mariano
두 양식의 경우 [접두어] (https://docs.djangoproject.com/en/dev/ref/forms/api/#django.forms.Form.prefix)를 사용자에게 제공해야 할 수도 있습니다. 빈 양식을 렌더링하는 동안 및 POST 데이터에서 바운드 양식을 작성하는 동안 둘 다 추가해야합니다. – akotian