Django 更改值;在两个模型中,使用一种形式-不起作用。德扬戈
我正试图同时在两个模型中进行更改。因此,根据论坛上的一个主题,我在一个视图中创建了两个表单,并将其添加到一个html中 我觉得我在第二阶段做错事了。为什么我的模型中的值没有变为False 看起来差不多是这样 views.plDjango 更改值;在两个模型中,使用一种形式-不起作用。德扬戈,django,forms,Django,Forms,我正试图同时在两个模型中进行更改。因此,根据论坛上的一个主题,我在一个视图中创建了两个表单,并将其添加到一个html中 我觉得我在第二阶段做错事了。为什么我的模型中的值没有变为False 看起来差不多是这样 views.pl if request.method == 'POST' and 'btn_massage_order' in request.POST: ordering_form = OrderingMassageForm(data=request.POST)
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(),
}
型号.py
(在这种情况下,我尝试通过第二种不起作用的形式来更改值)
模板
<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>
{%csrf_令牌%}
{{ordering_form.as_p}}
波特维德雷泽瓦奇
任何帮助都将不胜感激。我不明白你在这里干什么。如果表单的唯一字段是隐藏输入,那么它的意义何在?我想在发送第一个表单(编辑OrderingMassage表)后更改“Time”表中的字段。也许我可以用另一种方式来做,而不用创建新的表单。如果是的话,我怎么做呢?你不需要为request.POST做两个单独的If语句。在同一个if语句中处理两个表单。我不明白你在这里做什么。如果表单的唯一字段是隐藏输入,那么它的意义何在?我想在发送第一个表单(编辑OrderingMassage表)后更改“Time”表中的字段。也许我可以用另一种方式来做,而不用创建新的表单。如果是的话,我怎么做呢?你不需要为request.POST做两个单独的If语句。在同一if语句中处理两个窗体。
<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>