sswwssww
@sswwssww

Как получить поле с id модели из другой модели в Django?

Есть две модели:
class Service(models.Model):
    """ Инстаграм; Вконтакте; Youtube и т.п. """
    name = models.CharField(verbose_name=u'Наименование', default='Разное', max_length=15, blank=False, null=False)

    class Meta:
        verbose_name = 'Сервис'
        verbose_name_plural = 'Сервисы'

    def __str__(self):
        return self.name


class Category(models.Model):
    """ Подписчики; Лайки; Просмотры и т.п. """
    service_id = models.ForeignKey(Service, verbose_name=u'Сервис', on_delete=models.CASCADE)
    name = models.CharField(verbose_name=u'Наименование', default='Разное', max_length=10)
    description = models.TextField(verbose_name=u'Описание', blank=True, null=True)

    class Meta:
        verbose_name = 'Категория'
        verbose_name_plural = 'Категории'

    def __str__(self):
        return self.name

И есть index.html шаблон:
<div class="col-xl-10 pb-5">
					{% for category in categories  %}
					<div class="category-item"  data-service="{{ category.service_id }}">
					</div>
					{% endfor %}
				</div>

- в котором меня интересует лишь category.service_id.
Вопрос в следующем, т.к. я переопределяю __str__ методы в моделях для того чтобы в админке было нормальное отображение полей, то получается что в category.service_id у меня не поле id модели Service, а поле name.
Как сделать так чтобы и в админке было нормальное отображение и в шаблон передавался id а не name?
Т.е. мне нужно чтобы в Category > service_id был id Service-а а не его name поле.
  • Вопрос задан
  • 750 просмотров
Решения вопроса 1
@AstraVlad
Финансист, консультант, программист-любитель
category.service_id.pk?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы