Django 仅查询属于该公司的员工

Django query only employees belonging to that company

我有 2 个模块,一个模块代表一家公司:

class ExternalService(models.Model):

    # Fields
    company_name = models.CharField(max_length=60)
    address_street = models.CharField(max_length=60)
    address_postcode = models.CharField(max_length=30)
    address_city = models.CharField(max_length=30)
    company_telephone = models.CharField(max_length=30)
    company_email = models.CharField(max_length=60)
    company_support_telephone = models.CharField(max_length=30)
    company_support_email = models.CharField(max_length=30)
    company_website = models.URLField(null=True, blank=True)
    notes = models.TextField(max_length=448)
    created = models.DateTimeField(auto_now_add=True, editable=False)
    last_updated = models.DateTimeField(auto_now=True, editable=False)

    class Meta:
        pass

    def __str__(self):
        return str(self.company_name)

    def get_absolute_url(self):
        return reverse("asset_app_ExternalService_detail", args=(self.pk,))

    def get_update_url(self):
        return reverse("asset_app_ExternalService_update", args=(self.pk,))

和代表员工的模块:

class ExternalServiceContact(models.Model):

    # Relationships
    company = models.ForeignKey("asset_app.ExternalService", on_delete=models.SET_NULL, blank=True, null=True)
    position = models.ForeignKey("asset_app.ExternalServicePosition", on_delete=models.SET_NULL, blank=True, null=True)

    # Fields
    name = models.CharField(max_length=60)
    email = models.CharField(max_length=30)
    cellphone = models.CharField(max_length=30)
    created = models.DateTimeField(auto_now_add=True, editable=False)
    last_updated = models.DateTimeField(auto_now=True, editable=False)



    class Meta:
        pass

    def __str__(self):
        return str(self.name)

    def get_absolute_url(self):
        return reverse("asset_app_ExternalServiceContact_detail", args=(self.pk,))

    def get_update_url(self):
        return reverse("asset_app_ExternalServiceContact_update", args=(self.pk,))

在我的 views.py 中,我想要获得属于该公司的所有员工。因此,当我查看我的 DetailView 时,我只会列出属于该公司的员工。

class ExternalServiceDetailView(generic.DetailView):
    model = models.ExternalService
    form_class = forms.ExternalServiceForm

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['employees'] = models.ExternalServiceContact.get(#######).order_by('name')
        return context

只是不知道要在我的 get() 中插入什么

您可以查询:

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context['employees'] = self.object.<b>externalservicecontact_set</b>.order_by('name')
    return context