Django отображение списка изображений в таблице из поля ManyToMany
Я создал модель для подробной информации о вакансиях. Модель вакансии имеет следующие поля:
class Job(models.Model):
job_position = models.ForeignKey(Position, on_delete=models.PROTECT, related_name='job_position')
applicants_to_hire = models.IntegerField(null=True, blank=True,
validators=[MinValueValidator(1), MaxValueValidator(15)], default=1)
hiring_team = models.ManyToManyField(Employee, related_name='hiring_team')
class JobListView(LoginRequiredMixin, ListView):
model = Job
template_name = 'recruitment/job_list.html'
context_object_name = 'job_list'
Я хочу использовать hiring_team в шаблоне, чтобы показать изображение каждого сотрудника (аватар круга), и эти изображения приходят из модели сотрудника:
class Employee(models.Model):
image = models.ImageField(blank=True, default='blank_profile_picture.jpg')
Мне удалось отобразить все изображения, но они не находятся в одной ячейке таблицы, и они добавляют дополнительные столбцы таблицы:
<tbody>
{% for job in job_list %}
<tr>
<td><span class="employee-table-name"><a href="{% url 'recruitment:job_detail' pk=job.pk %}">{{ job.job_position }}</a></span></td>
<td>{{ job.applicants_to_hire }}</td>
{% for team in job.hiring_team.all %}
{% if team.image %}
<td><img src="{{ team.image.url }}" class="rounded-circle img-fluid-80" alt="{{ team }}"></td>
{% endif %}
{% endfor %}
<td>{{ job.job_priority }}</td>
<td>{{ job.job_status }}</td>
<td>{{ job.created|date:"M d, Y" }}</td>
</tr>
{% endfor %}
</tbody>
Как я могу "конкатенировать" их, чтобы отобразить что-то вроде скриншота ниже:
Это означает, что все изображения должны находиться в одном блоке td
, поэтому просто поместите td
вне цикла:
<td>
{% for team in job.hiring_team.all %}
{% if team.image %}
<img src="{{ team.image.url }}" class="rounded-circle img-fluid-80" alt="{{ team }}">
{% endif %}
{% endfor %}
<td>