Django обрабатывает несколько форм
Моя модель:
class HospitalDoctor(models.Model):
hospital = models.ForeignKey(Hospital)
full_name = models.CharField(max_length=100, unique=True)
expertization = models.CharField(max_length=50)
nmc_no = models.CharField(max_length=20)
timings = models.ManyToManyField('Timing', related_name='shift_timing')
appointment = models.IntegerField(default=0)
def __unicode__(self):
return self.full_name
class Timing(models.Model):
hospital = models.ForeignKey(Hospital)
doctor = models.ForeignKey(HospitalDoctor)
day = models.CharField(max_length=20)
mng_start = models.IntegerField()
mng_end = models.IntegerField()
eve_start = models.IntegerField()
eve_end = models.IntegerField()
def __unicode__(self):
return self.day
и я создал форму для этого:
class HospitalDoctorInfoForm(forms.ModelForm):
class Meta:
model = HospitalDoctor
fields = ('hospital','full_name', 'expertization', 'nmc_no')
class TimingForm(forms.ModelForm)
class Meta:
model = Timing
fields = ('day','mng_start', 'mng_end', 'eve_start', 'eve_end')
Я хочу сохранить две формы одновременно. TimingForm содержит расписание врача на 1 неделю, поэтому мне нужно 7 форм на 7 дней, и день должен быть установлен в соответствии с неделей, например, в воскресенье, понедельник....DoctorInfoForm содержит информацию о докторе.
Я пытался использовать CreateView, но мне нужно использовать там form_class?
Как я могу сделать это возможным? Любое предложение.
1 ответ
Это просто в Джанго.
if HospitalDoctorinfoform.is_valid() and Timingform.is_valid():
#Dosomething
HospitalDocinfoform.save()
Timingform.save()
Бинго!!