python - 无法分配“,,,,
问题描述
当我单击 detail.html 中的“加入”按钮时,出现以下错误。按下按钮时,我想将视图中写入的内容保存在数据库中。我该如何解决这个问题?如果您能回复我将不胜感激。
/join/element_detail/ 处的 ValueError 无法分配“<QuerySet [<Designated: 1>, <Designated: 2>, <Designated: 3>, <Designated: 4>, <Designated: 5>, <Designated: 6>, <指定:7>、<指定:8>、<指定:9>]>":“Element.designated_code”必须是“指定”实例。请求方法:POST 请求 URL: http: //127.0.0.1 :8000/join/element_detail/ Django 版本:3.1.5 异常类型:ValueError 异常值:无法分配“<QuerySet [<Designated: 1>, <Designated: 2 >、<指定:3>、<指定:4>、<指定:5>、<指定:6>、<指定:7>、<指定:8>、<指定:9>]>":"元素。指定代码”必须是“
视图.py
from django.shortcuts import render
# Create your views here.
from zeronine.forms import ElementForm
from zeronine.models import *
def element_detail(request):
designated_object = Designated.objects.all()
element_object = Element.objects.all()
value_object = Value.objects.all()
if request.method == "POST":
form = ElementForm(request.POST)
if form.is_valid():
element = Element()
element.value_code = form.cleaned_data['value_code']
element.designated_code = designated_object
element.save()
if request.method == "POST":
join = Join()
join.product_code = request.GET.get('product_code')
join.username = request.user
join.part_date = request.GET.get('part_date')
join.save()
return render(request, 'zeronine/list.html')
else:
form = ElementForm()
return render(request, 'zeronine/detail.html', {'form': form,
'designated_object': designated_object,
'element_object': element_object,
'value_object': value_object})
详细信息.html
{% extends 'base.html' %}
{% block title %} 상품 상세보기 {% endblock %}
{% block content %}
<div class="container">
<div class="row">
<div class="col-4">
<img src="{{product.image.url}}" width="190%" style="margin-top: 100px;">
</div>
<div class="text-center col" style="margin-top:150px; margin-left:200px;">
<b><h4 class="content" style="margin-bottom: -5px;"><b>{{product.name}}</b></h4></b>
<br>
<div>
<!-- <span>주최자 : <b>{{ product.username }}</b></span><br>-->
<span style="color: #111111">모집기간 : <b>{{ product.start_date }} ~ {{ product.due_date }}</b></span>
</div>
<hr style="margin-top: 30px; margin-bottom: 30px;">
<p><span class="badge badge-dark">가격</span>
{% load humanize %}
{% for designated in designated_object %}
{% if designated.product_code.product_code == product.product_code %}
{{designated.price | floatformat:'0' | intcomma }}원
{% endif %}
{% endfor %}</p>
<span class="badge badge-dark">목표금액</span> {{ product.target_price | floatformat:'0' | intcomma }}원 <br><br>
<p class="badge badge-dark">공동구매 취지
{{product.benefit|linebreaks}}</p>
<p class="badge badge-dark">상세설명
{{product.detail|linebreaks}}</p>
<div class="container my-4">
<div class="col-12">
<form method="POST" style="margin-left: 110px;" action="{% url 'zeronine:element_detail' %}">
<div class="form-group row">
<label for="value_code" class="col-sm-2 col-form-label"><b>옵션</b></label>
<div class="col-sm-5">
<select type="text" class="form-control" name="value_code" id="value_code">
{% for value in value_object %}
{%if value.product_code == product %}
<option value="{{value.value_code}}">{{value.name}}</option>
{% endif %}
{% endfor %}
</select>
</div>
</div>
{% csrf_token %}
{% if not user.is_authenticated %}
<a onclick="alert('로그인 후 참여가 가능합니다.');" style="cursor:pointer;">
<button type="submit" style="background:black; border-color:black;" class="btn btn-primary"> 참여하기</button></a>
<a onclick="alert('로그인 후 찜하기가 가능합니다.');" style="cursor:pointer;">
<button type="submit" style="background:white; color:black; border-color:black;" class="btn btn-primary">찜하기</button></a>
{% else %}
<a onclick="alert('{{ product.name }} 공동구매 참여가 완료되었습니다.');" style="cursor:pointer;">
<button type="submit" action="{% url 'zeronine:element_detail' %}" style="background:black; border-color:black;" class="btn btn-primary"> 참여하기</button></a>
<a onclick="alert('{{ product.name }} 상품을 찜했습니다.');" style="cursor:pointer;">
<button type="submit" style="background:white; color:black; border-color:black;" class="btn btn-primary">찜하기</button></a>
{% endif %}
</form>
</form>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
解决方案
推荐阅读
- java - Eclipse 对导入感到困惑(“可从多个模块访问”)
- docker - 在 docker-compose 文件中使用 Weave 网络
- c++ - C++ 命名管道,安全地编写 unsigned int
- laravel-5 - 我想从网址栏“产品”访问。“.../product/paracetamol 1”,但我给出了“未定义的变量:产品 (0)”。
- ruby - 使用 ruby 在 linux 上使用 selenium webdriver 的问题
- vue.js - Microsoft Graph 在身份验证后记住用户
- r - 使用 lapply 从数据框列表创建新数据框
- javascript - 必须刷新才能预先选中复选框,具体取决于 mongoDb 值
- firebase - 颤振错误:输入“未来”
' 不是类型 'List 的子类型 ' - visual-studio-code - 有没有办法在 Visual Studio Code(VS 代码)中自动格式化修改后的代码?