【发布时间】:2021-01-14 19:43:58
【问题描述】:
我可以就我做错的事情寻求帮助吗?我有一个布尔字段,当用户单击它时我想要它,它会在数据库中更新,但我无法实现我的目标。我的代码如下以便更好地理解 模型.py
class OrderItem(models.Model):
designer_size = models.ForeignKey("Frame_Sizes_Designer", on_delete=models.CASCADE, blank=True)
class Frame_Sizes_Designer(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
small = models.BooleanField(default=False, blank=True)
def __str__(self):
return self.user.username
views.py
def DesignerFrameSizeSmall(request):
dss = get_object_or_404(OrderItem, id=request.POST['id'])
dss.designer_size.small = not dss.designer_size.small
dss.save()
messages.info(request, "Your prefered size has been stored... Thanks")
return redirect('business:summary')
urls.py
app_name = 'business'
urlpatterns =[
path('designer_frame_small_size/', DesignerFrameSizeSmall, name='dfss')
]
html和js
<form action="" method="POST">
{% csrf_token %}
<input type="checkbox" id="designer_small" value="{{dss.designer_size.small}}">
<label>Small</label>
</form>
$(document).ready(function(){
$('#designer_small').change(function(){
$.post("{% url 'business:dfss' %}",{
id: "{{items.id}}",
designsmall: this.checked,
csrfmiddlewaretoken: '{{csrf_token}}'
});
});
当我检查控制台时,我收到的错误消息是内部服务器错误,并且我的命令提示符dss.designer_size.small = not dss.designer_size.small AttributeError: 'NoneType' object has no attribute 'small' 中也出现错误
【问题讨论】:
-
我认为应该是“dss.designer_size.save()”
标签: python django django-models django-views django-templates