从网页中的条目列表中删除数据库条目

时间:2014-12-15 07:17:35

标签: django templates radio-button

我正在尝试从一个有多个单选按钮的网页上获取用户输入,我需要从员工数据库中删除所选的单选按钮数据。

在我看来,我有, 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

1 个答案:

答案 0 :(得分:0)

问题可能是由于您将所有无线电的名称设置为相同,即名称为“e”。尝试为for循环中的多个无线电指定不同的名称。