Родительская форма не получает значения от дочерней формы во время инициализации дочернего объекта в Django
Я создал базовую форму в django.
class basicform(forms.Form):
br = ((None,' '),('CSE','CSE'),('ECE','ECE'),('IT','IT'))
se = ((None,' '),('M','Male'),('F','Female'),('O','Others'))
secx = ((None,' '),('A','A'),('B','B'),('C','C'),('D','D'))
roll_no = forms.CharField(required=False,label='Roll No:')
name = forms.CharField(required=False,label='Name:')
sex = forms.ChoiceField(required=False,choices=se,label='Gender:')
branch = forms.ChoiceField(required=False,choices=br,label='Branch:')
sec = forms.ChoiceField(required=False,choices=secx,label='Section:')
я сделал другую форму
class marks(basicform):
s11 = forms.DecimalField(max_value=100,min_value=0)
s12 = forms.DecimalField(max_value=100,min_value=0)
s13 = forms.DecimalField(max_value=100,min_value=0)
......
def __init__(self,*args,**kwargs):
super(marks,self).__init__(*args,**kwargs)
self.fields['name'].disabled = True
self.fields['roll_no'].disabled = True
self.fields['sex'].disabled = True
self.fields['branch'].disabled = True
self.fields['sec'].disabled = True
проблема в том, что я беру данные из базовой формы, и хочу, чтобы эти данные были присвоены дочерней форме (т.е. объекту marks)
mark = marks(data = request.POST)
вот что я пытаюсь сделать. имейте в виду, что данные поста берутся из базового класса (т.е. basicform), я предполагаю, что параметр 'data' будет передан в суперкласс и, следовательно, значения будут присвоены, но это не так.
что я делаю не так?
def create(request):
global form
if request.method == 'POST':
form = basicform(data = request.POST)
if form.is_valid():
mark = marks(data = request.POST)
mark.full_clean()
print(form.cleaned_data)
print(mark.cleaned_data)
это выдержка из моего представления, здесь операторы печати предназначены для отладки и, как я уже говорил, переменная 'form' имеет значения, а переменная 'mark' - нет.