【发布时间】:2021-03-15 06:16:24
【问题描述】:
我有创建几个不同行的模型。像这样……
class Myteam(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
QB = models.CharField(max_length=80, null=True)
RB1 = models.CharField(max_length=80, null=True)
WR = models.CharField(max_length=80, null=True)
TE = models.CharField(max_length=80, null=True)
D = models.CharField(max_length=80, null=True)
K = models.CharField(max_length=80, null=True)
在我的模板中,我循环遍历这些行并将它们显示为 html 表格行。我为每一行添加了一个删除功能,因为我希望应用程序的用户能够从他们的“Myteam”对象中删除一个玩家。问题是,我只能删除整个对象,因为整个对象只有一个 id。模板现在看起来像这样。这里以两行为例。
<tbody>
{% for t in team %}
<tr>
<td id="" > {{ t.QB }}
<a href="{% url 'delete_player' t.id %}">Delete</a>
</td>
<tr>
<td> {{ t.RB1 }}
<a href="{% url 'delete_player' t.id %}">Delete</a>
</td>
</tr>
<tr>
我确实在这里遇到了一种可能的解决方案,它建议使用 {{ forloop.counter }} 将单个 id 分配给行,但我无法让它按我的意愿工作。
以防万一,这里是views.py
def delete_player(request, id):
player = Myteam.objects.get(id=id)
player.delete()
return redirect('show')
我觉得可能有一个非常基本的解决方案,但我是 django 的新手,很难找到这样的答案。非常感谢任何帮助。
【问题讨论】:
标签: python django django-models django-views django-templates