Django Updateview html 带有使用当前实例对象值的链接的模板

Django Updateview html templet with links using current instance object values

我有两个模型

class AccGroup(models.Model):
    grpid = models.BigAutoField(primary_key=True, editable=False)
    groupname = models.CharField(max_length=40, default="")
    class Meta:
        indexes = [models.Index(fields=['groupname'])]
    def __str__(self):
        return "%s" % (self.groupname)


class Account(models.Model):
    accid = models.BigAutoField(primary_key=True, editable=False)
    shortcut = models.CharField(max_length=10, default="")
    accname = models.CharField(max_length=100, default="")
    accgrp = models.ForeignKey(AccGroup, on_delete=models.RESTRICT, default=0)
    class Meta:
        indexes = [models.Index(fields=['shortcut']),models.Index(fields=['accname'])
        ]
    def __str__(self):
        return "%s--%s" % (self.shortcut, self.accname)

在上述模型上定义了一个更新视图

class AccountUpdateForm(UpdateView):
    model = Account
    fields = ['shortcut','accname','accgrp']
    def get_success_url(self):
        currid = self.kwargs['pk']
        account = Account.objects.get(pk=currid)
        print(account)
        return ('/polls/accmst/'+  str(account.accid))

和对应的HTML模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Update Account</title>
</head>
<body>
<form action="" method="post">
    {% csrf_token %}
    <table>
    {{ form.as_table }}
    </table>
    <input type="submit" value="Save" />
</form>

<p>
<a class="btn btn-info btn-sm" href="{% url 'polls:accgrpList' %}">Back To Group List</a>
</p>
<p>
   <a class="btn btn-info btn-sm" href="{% url 'polls:accgrpList' form.accgrp.grpid %}">Back To Account List</a>    
</p>
</body>
</html>

所以成功时使用当前帐户对象主键显示同一页面

还有两个链接 Link 1 点 a 组列表 转换为 http://localhost:8000/polls/accgrplist

Link 2 我的问题是我想指向 url http://localhost:8000/polls/accgrplist/2 其中最后一部分是当前账户对象的grpid

模板中的以下更改完成了我的工作

<a class="btn btn-info btn-sm" href="{% url 'polls:accgrpList' form.accgrp.value %}">Back To Account List</a>