我需要在一个表单中保存多个选择,但它没有将值保存到我的模型中。表单的外观如下:
这是我的模型.py在
class ChoiceManager(models.Manager):
def rates (self, Task_id, rating2, yo):
assignment = Assignment.objects.get(id=Assignment_id)
rating = rating2
yo = FiscalYear.objects.get(fy_year=years)
for i in range(len(rating2)):
rated = Prog_capability.objects.create(
task = task,
rating2 = rating[i],
fy = yo[i]
)
class NewYear(models.Model):
year = models.CharField(max_length=5)
new_year = models.CharField(max_length=5)
class Choice(models.Model):
rating = models.CharField(max_length=255, blank=True, null=True)
year = models.ForeignKey(NewYear, related_name="choices")
assignment = models.ForeignKey(Assignment, related_name="choice")
objects = ChoiceManager()
这是我的视图.py在
^{pr2}$HTML格式
<form action="{% url 'project:rating' %}" method="post">
{% csrf_token %}
{% for year in years %}
<li class=cap_select>
<div id=fyc>{{year.fy_year}}</div>
<select name="rating2" id="{{assignment.id}}-{{year.id}}">
<option>Choose From List</option>
<option class=hi value="high">High</option>
<option class=med value="medium">Medium</option>
<option class=low value="low">Low</option>
<option class=na value="n/a">N/A</option>
</select>
<input type="hidden" name="yo" value={{year.fy_year}}>
</li>
{% endfor %}
<br>
<input id=save_cap type="submit" value="Save">
</form>
我得到了一个
"NewYear matching query does not exist." and cannot save the data.
我已经做了几天了。任何帮助都将不胜感激。在
是的,你是对的
在years上循环并在form中呈现}标记的{}属性与{}和{}是相同的
select
和input
标记,并且所有select
和{在这种情况下,当您提交表单时,您将得到一个
rating
和year
的列表,因此在从中获取表单时应该使用getlist()
方法请求.POST奎里迪克。在如果上面没用,就用它吧
^{pr2}$更新你的费率方法。在
更改方法调用。在
所以这就是最终成功的方法:
在模型.py在
在视图.py在
^{pr2}$HTML格式
相关问题 更多 >
编程相关推荐