Python 更新按钮未获取查询

Python 更新按钮未获取查询,python,django,python-3.x,django-forms,django-templates,Python,Django,Python 3.x,Django Forms,Django Templates,感谢您抽出时间: 我有一个模型,它链接到用户,并且是唯一一个可以更新其创建者的模型。直到一切顺利。只有创建者用户可以打开url更新,尽管我无法在模型的主模板上传递重定向到该更新url的按钮 我想知道是否有一种方法可以只对他的用户使用该按钮(如果不合适,只对匹配的queryset用户打开即可进入) 或者这按钮不起作用的原因:我应该获取url,例如:services/parceiro/update/2如果我是创建者用户,我可以打开此url,但当我尝试在按钮中设置它时,我得到以下错误: 找不到参数为“

感谢您抽出时间: 我有一个模型,它链接到用户,并且是唯一一个可以更新其创建者的模型。直到一切顺利。只有创建者用户可以打开url更新,尽管我无法在模型的主模板上传递重定向到该更新url的按钮

我想知道是否有一种方法可以只对他的用户使用该按钮(如果不合适,只对匹配的queryset用户打开即可进入)

或者这按钮不起作用的原因:我应该获取url,例如:services/parceiro/update/2如果我是创建者用户,我可以打开此url,但当我尝试在按钮中设置它时,我得到以下错误:

找不到参数为“(“”,)”的“update_parceiro2”的反转。尝试了1个模式:[“服务/包裹/更新/(?P[0-9]+)$”]

parceiros.html:

{% extends "base.html" %}

{% block content %}
    <h1>{{parc.nome}} - {{parc.user}} - {{parc.responsavel}}</h1>


    <form action="{% url 'update_parceiro2' Parceiros.id %}">
        <button type="submit"><i class="material-icons">sync</i></button>
    </form>
{% endblock %}
URL.py:

urlpatterns = [
    path('home/', views.home_view, name='home2'),
    path('parceiro/', views.parceirosview, name='parceiro2'),
    path('parceiro/detail/<int:pk>', views.parceirosview, name='parceiro_detail2'),
    path('addparceiro/', views.parceiros_create, name='add_parceiro2'),
    path('parceiro/detail2/<int:pk>', ParceirosView.as_view(), name='parceiro_detail22'),
    path('parceiro/update/<int:pk>', ParceiroUpdate.as_view(), name='update_parceiro2')
]

您可以在模板中使用此代码根据用户的id为其显示内容

{% if request.user.id == 1 %}
<form action="{% url 'update_parceiro2' Parceiros.id %}">
    <button type="submit"><i class="material-icons">sync</i></button>
</form>
{% endif %}
{%if request.user.id==1%}
同步
{%endif%}

这个
{%url'update\u parceiro2'parceiro2'Parceiros.id%}
应该是
{%url'update\u parceiro2'parc.id%}
kkkkk tham对了,先生,谢谢你,我没有注意到,请解释更多。谢谢你,先生,它工作了,但会像:`{%if request.user==parc.user%}sync{%endif%}```
get_user_model = User

class Parceiros (models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    nome = models.CharField(max_length=200)
    endereco = models.TextField(max_length=400, blank=True)
    responsavel = models.CharField(max_length=100)
    tel = PhoneField(max_length=12)
    created_at = models.DateTimeField(auto_now=True)
    updated_at = models.DateTimeField(auto_now_add=True, blank=True)
    ativo = models.BooleanField(default=False)

    def get_queryset(self):
        queryset = super(Parceiros, self).get_queryset()
        return queryset

    def __str__(self):
        return '%s %s' % (self.user, self.nome)

    def get_absolute_url(self):
        return reverse('parceiro_detail2', kwargs={'pk': self.pk})
{% if request.user.id == 1 %}
<form action="{% url 'update_parceiro2' Parceiros.id %}">
    <button type="submit"><i class="material-icons">sync</i></button>
</form>
{% endif %}