Изменение значений в двух моделях с использованием одной формы - не сработало.Джанго - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь внести изменения в две модели одновременно.Итак, согласно одной теме на форуме, я создал две формы в одном представлении и добавил их в один html.

Я думаю, что во второй форме я что-то не так делаю.Почему мое значение в моей модели не меняется на False?

Это выглядит более или менее так.

views.pl

    if request.method == 'POST' and 'btn_massage_order' in request.POST:
        ordering_form = OrderingMassageForm(data=request.POST)
        if ordering_form.is_valid():
            ordering = ordering_form.save(commit=False)
            massage_product = query_product # nazwa produkty
            masseurs = query_user # massage
            massage_time_interval = time # time example 60 min
            price_massage = price # price
            day_week = clean_my_date # day week
            time_compartment = ordering_form.cleaned_data['time']
            [...]
            ordering.massage_product = massage_product
            ordering.masseurs = masseurs
            ordering.massage_time_interval = massage_time_interval
            ordering.time_compartment = time_compartment
            ordering.price = price_massage
            ordering.day_week = day_week
            [...]
             ordering.save()
    else:
        ordering_form = OrderingMassageForm()

    #next form i views
    if request.method == 'POST' and 'btn_massage_order' in request.POST:
        ordering_form = OrderingMassageForm(data=request.POST)
        ordering_form_on_off = TimeOnTimeOff(data=request.POST)
        if ordering_form_on_off.is_valid() and ordering_form.is_valid():
            ordering_form_on_off = ordering_form_on_off.save(commit=False)
            # the value that will be save
            reservation = False
            # I receive my object
            time_compartment = ordering_form.cleaned_data['time']
            # assigning my object
            ordering_form_on_off.time_compartment = reservation
            #save
            ordering_form_on_off.save()
    else:
        ordering_form_on_off = TimeOnTimeOff()

forms.py

class OrderingMassageForm(forms.ModelForm):
    class Meta:
        model = OrderingMassage
        fields = ('time',
                  'place',
                  'payment_method',
                  'name',
                  'surname',
                  [...]


class TimeOnTimeOff(forms.ModelForm):
    class Meta:
        model = Time
        fields = ('free_or_no',
                  )
        widgets = {
            'free_or_no': forms.HiddenInput(),
        }

models.py (в котором я пытаюсь изменить значение с помощью второй формы, которая не работает)

class Time(models.Model):
    day_time = models.ForeignKey(DayTime, on_delete=models.CASCADE)
    compartment = models.CharField(max_length=11)
    free_or_no = models.BooleanField(default=True)
    time_equivalent = models.IntegerField()

шаблон

<form action="." method="post">
    {% csrf_token %}
    {{ ordering_form.as_p }}
    <button type="submit" name="btn_massage_order" class="btn btn-primary">Potwierdż rezerwacje</button>
</form>

Любая помощь будет оценена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...