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
我有 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