Django models Django数据库中的布尔字段未更新
对我来说一切都很好(所以我想无论如何)。打开或关闭后,在切换复选框的帮助下,我收到一条消息,说我已成功打开或关闭布尔字段。但在我的Django数据库中,它似乎没有被单击或取消单击。为了更好地理解,我的代码如下Django models Django数据库中的布尔字段未更新,django-models,django-views,django-templates,Django Models,Django Views,Django Templates,对我来说一切都很好(所以我想无论如何)。打开或关闭后,在切换复选框的帮助下,我收到一条消息,说我已成功打开或关闭布尔字段。但在我的Django数据库中,它似乎没有被单击或取消单击。为了更好地理解,我的代码如下 def PaperFrame(request): paper_frame = OrderItem.objects.get(id = request.POST['id']) paper_frame.paper = request.POST['paperchoice'] ==
def PaperFrame(request):
paper_frame = OrderItem.objects.get(id = request.POST['id'])
paper_frame.paper = request.POST['paperchoice'] == 'True'
paper_frame.save()
messages.info(request, "Your chosen paper frame has been saved")
return redirect('business:graphic', slug=paper_frame.id)
class OrderItem(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
item = models.ForeignKey(Item, on_delete=models.CASCADE)
paper = models.BooleanField(default=False, blank=True)
Templates
<div class="frame_click">
<form action="" method="POST">
{% csrf_token %}
<label class="switch">
<input type="checkbox" id="changeswitch" value="{{paper_frame.paper}}">
<span class="slider round"></span>
</label>
</form>
</div>
jquery functionality
$(document).ready(function(){
$('#changeswitch').change(function(){
$.post("/choosepaper/",{
id: "{{items.id}}",
paperchoice: this.checked,
csrfmiddlewaretoken: '{{csrf_token}}'
});
});
});
def纸框(请求):
paper\u frame=OrderItem.objects.get(id=request.POST['id'])
纸张_frame.paper=request.POST['paperchoice']=='True'
纸框保存()
messages.info(请求“您选择的纸框已保存”)
返回重定向('business:graphic',slug=paper\u frame.id)
类OrderItem(models.Model):
user=models.ForeignKey(settings.AUTH\u user\u MODEL,on\u delete=models.CASCADE)
item=models.ForeignKey(item,on_delete=models.CASCADE)
纸张=模型.布尔字段(默认值=假,空白值=真)
模板
{%csrf_令牌%}
jquery功能
$(文档).ready(函数(){
$('#changeswitch').change(函数(){
$.post(“/choosepper/”{
id:“{items.id}}”,
paperchoice:这个,检查过了,
csrfmiddlewaretoken:“{{csrf_令牌}”
});
});
});
每次单击复选框时,尝试这样的操作来翻转布尔值。这就像魔术一样发生。。。万分感谢
def PaperFrame(request):
paper_frame= get_object_or_404(OrderItem,id = request.POST['id])
paper_frame.paper= not paper_frame.paper
paper_frame.save()
messages.info(request, "Your chosen paper frame has been saved")
return redirect('business:graphic', slug=paper_frame.id)