Я работаю с Django Models для компании и сотрудника. У каждой компании есть несколько сотрудников, и я хочу отобразить имена сотрудников в одну строку для каждой компании, а не отображать каждого сотрудника в новой строке. < /P>
В настоящее время у меня есть следующее Настройка: < /p>
Модель компании имеет отношение один к одному с сотрудником, что заставляет каждого сотрудника отображаться в отдельной строке в шаблоне.
Модели: < /p>
class Employee(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
comment = models.TextField()
def __str__(self):
return f"{self.first_name} {self.last_name}"
class Company(models.Model):
name = models.CharField(max_length=100)
employeename = models.OneToOneField(Employee, on_delete=models.CASCADE, null=True)
< /code>
Проблема:
Я хочу отображать сотрудников для каждой компании в следующем формате: < /p>
Apple - [Jessica, Mathewo, Anthony]
< /code>
вместо текущего формата, который отображает сотрудников, подобных этим: < /p>
Apple - Jessica
Apple - Mathewo
Apple - Anthony
< /code>
То, что я пробовал:
Я использовал company.objects.values ('name'). Annotate (total = count ('usmenteename')), чтобы получить Подсчет сотрудников на компанию, но я все еще получаю имена сотрудников в отдельных строках в шаблоне. < /p>
{% for company in companies %}
{{ company.name }} (Add Employee)
{{ company.id }}
{{ company.employeename }}
{% endfor %}
< /code>
Что мне нужна помощь:
Как я могу изменить запрос или шаблон, чтобы отобразить имена сотрудников в списке (например, Apple - [Джессика, Макево, Энтони]) Вместо отдельных строк? Компания строка со списком всех имен сотрудников, отображаемых в одной ячейке.
Имя компании должно появиться один раз, за которым следует список имен сотрудников в этой компании (как массив или отдельный запятой). < /P>
Подробнее здесь: https://stackoverflow.com/questions/761 ... ows-in-dja
Отображать сотрудников компании в одном ряду (вместо нескольких строк) в шаблоне Django ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение