Две формы в одной модели.Объединение значений для таблиц баз данных - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть простая модель в django, которая выглядит следующим образом:

class TimeTable(models.Model):
    title = models.CharField(max_length=100)
    start_time= models.CharField(choices=MY_CHOICES, max_length=10)
    end_time = models.CharField(choices=MY_CHOICES, max_length=10)
    day1 = models.BooleanField(default=False)
    day2 = models.BooleanField(default=False)
    day3 = models.BooleanField(default=False)
    day4 = models.BooleanField(default=False)
    day5 = models.BooleanField(default=False)
    day6 = models.BooleanField(default=False)
    day7 = models.BooleanField(default=False)

для этой модели у меня есть 2 формы:

class TimeTableForm(ModelForm):
    class Meta:
        model = TimeTable
        fields = ['title ', 'start_time', 'end_time']


class WeekDayForm(ModelForm):
    class Meta:
        model = TimeTable
        fields = ['day1', 'day2', 'day3', 'day4', 'day5', 'day6', 'day7']

Теперь в views.py мне нужно сохранить эти значенияв базу данных

def schedule(request):
    if request.method == 'POST':
        form = TimeTableForm(request.POST)
        day_week = WeekDayForm(request.POST)   
        if all([form.is_valid(), day_week.is_valid()]):
            form.save()
            day_week.save()

Я новичок в Django, поэтому я думал, что эти значения будут объединены в одно, и я получу правильные данные, но для каждой отправки я получаю два отдельных объекта в базе данных, например

title | 8:00 | 10:00 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |

      |      |       | 0 | 1 | 1 | 1 | 1 | 0 | 0 |

но я должен получить

title | 8:00 | 10:00 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 

Как вы видите, эти две формы значений разделены в базе данных (вероятно, для человека, который имеет больше общего с django, это очевидно), естьвозможность объединить эти два в один?

...