Python 将1个表的外键与另一个表的主键进行比较

Python 将1个表的外键与另一个表的主键进行比较,python,django,Python,Django,正如标题所说,如果一个表的外键与另一个表的主键匹配,那么我将尝试将它们进行比较,并打印出视图的可编辑版本,如果不将其设置为只读 型号: class Ticket(models.Model): id = models.AutoField(primary_key=True, unique=True, auto_created=True) staffmember = models.ForeignKey('users.Users', verbose_name='Users',on_del

正如标题所说,如果一个表的外键与另一个表的主键匹配,那么我将尝试将它们进行比较,并打印出视图的可编辑版本,如果不将其设置为只读

型号:

class Ticket(models.Model):
    id = models.AutoField(primary_key=True, unique=True, auto_created=True)
    staffmember = models.ForeignKey('users.Users', verbose_name='Users',on_delete=models.CASCADE, default=True,
                                    related_name='ticket')
    ticketId = models.UUIDField(default=uuid.uuid4, editable=False)
    ticketName = models.CharField(max_length=200)
    ticketDescription = models.TextField(max_length=10000)
    ticketTime = models.DateTimeField(default=timezone.now)
    role = models.CharField(max_length=40, choices=Roles, default=developer)
    condition = models.CharField(max_length=40, choices=Condition, default=Opened)
    priority = models.CharField(max_length=40, choices=priority, default=low)

class Users(AbstractUser):
    pass
    id = models.AutoField(primary_key=True, unique=True, auto_created=True)
    username = models.CharField(blank=False, max_length=25, unique=True)
    email = models.EmailField(blank=False, unique=True)

    objects = Manager()

    def __str__(self):
        return self.username
看法

形式

HTML

{%extends'base.html%}
{%block title%}编辑票证{%endblock%}
{%block content%}
包裹详情
{%csrf_令牌%}
{{form.as_p}}
{%endblock%}

我正在尝试将用户ID与名为staffmember的票证中的外键进行比较。任何帮助都很好。

一个选项是将只读逻辑放入模板中。在模板中,您的请求的用户应该是
{{request.user}
,您的票证的用户应该是
{{object.staffmember}
。要比较它们,你可以使用
==
。我真的非常感谢你,因为我花了几个小时做了这么简单的事情
class EditTicketView(UpdateView, LoginRequiredMixin):
        model = Ticket
        template_name = 'editTicket.html'
        fields = ['ticketName', 'ticketDescription', 'condition', 'priority', 'role']
        success_url = reverse_lazy('dashboard')
class EditTicketForms(forms.ModelForm):
    class Meta:
        model=Ticket
        fields = ['ticketName', 'ticketDescription', 'condition', 'priority']
{% extends 'base.html' %}

{% block title %}Edit Ticket{% endblock %}

{% block content %}
  <h1>Package Details</h1>
  <form method="POST">
    {% csrf_token %}
    {{ form.as_p }}
    <input class="btn btn-success" type="submit" value="Add Comment">
  </form>
{% endblock %}