Есть две модели:
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 поле.