我正在尝试从一个有多个单选按钮的网页上获取用户输入,我需要从员工数据库中删除所选的单选按钮数据。
在我看来,我有, views.py
def list(request):
listofemp = Emp.objects.all()
if request.method=='POST':
selected_entry = Emp.objects.get(pk=request.POST['e'])
selected_entry.delete()
return render_to_response("listemp.html",locals(),context_instance= RequestContext(request))
在我的listemp.html中,我有这个模板。
<!doctype Html>
<html>
<head>
</head>
<body>
<form method='POST' action='/deleted'>
{% csrf_token %}
<p>
{% for e in listofemp %}
<li><a href= "{{e.pk}}">{{ e.name }} </a></li> {{ e.depart }}
<input type='radio' name="e" id="e{{forloop.counter}}" value= "{{e.pk }}" />
{% endfor %}
</p>
<input type='submit' value=''/>
</form>
<li><a = href='/alldetails'> List all the Details together <a/></li>
</body>
</html>
我在“e”处收到multiDict错误,无法理解如何从我的数据库中删除所选择的条目。这是我的models.py文件。
from django.db import models
class Emp(models.Model):
name = models.CharField(max_length=200)
depart = models.CharField(max_length= 16, choices = (('FINANCE','FINANCE'),('MARKETING','MARKETING')))
timestamp = models.DateTimeField()
update = models.DateTimeField(auto_now_add = False, auto_now = True)
def __unicode__(self):
return self.name
答案 0 :(得分:0)
问题可能是由于您将所有无线电的名称设置为相同,即名称为“e”。尝试为for循环中的多个无线电指定不同的名称。