django - 使用一种形式更改两个模型中的值 - 不起作用。姜戈
问题描述
我正在尝试同时对两个模型进行更改。于是,根据论坛上的一个话题,我在一个视图中创建了两个表单,并将其添加到一个html中。
我认为我在第二种形式中做错了什么。为什么我的模型中的值不会更改为 False?
它看起来或多或少是这样的。
意见.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()
表格.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>
任何帮助将不胜感激。
解决方案
推荐阅读
- r - R 中 lm() 函数的奇怪输出
- angular - 通过 DOM 访问父方法和变量 - Angular 2+
- ruby-on-rails - 巨大的处理时间差异取决于轻微的查询参数差异
- java - 你可以收集(加入())而不映射到字符串吗?
- ios - 在应用程序中添加评分和评论功能
- php - Codeigniter3 在服务器部署后给出 404(不读取应用程序文件夹)
- javascript - FabricJS:大画布导致对象在下部画布上呈现,但浏览器屏幕上没有对象出现
- regex - Apache .htaccess 重写规则两个条件?
- angular - 阅读 Angular 4 应用程序 oninit 方法上的 httpRequest
- c# - EF Core 一对多包括