Я делаю веб-приложение, используя django и jinja2. В моем models.py мой класс определяет функцию __str__
, которая возвращает дружественный текст при обращении к объектам этого класса.
class MySystem (models.Model):
system_id = models.AutoField(primary_key=True),
system_name = models.CharField(max_length=100)
parent_system = models.ForeignKey('self', null=True, blank=True, on_delete=models.SET_NULL)
def __str__(self):
return "{} > {}".format(self.parent_system, self.system_name)
class Detail (models.Model):
detail_id = models.AutoField(primary_key=True)
system_id = models.ForeignKey(MySystem, on_delete=models.DO_NOTHING)
title = models.CharField(max_length=150)
def __str__(self):
return "{} > {}".format(self.system_id, self.title)
У меня есть объект Detail, и я хочу получить идентификатор его системы.Когда я пытаюсь получить доступ к первичному ключу, он возвращает строку вместо идентификатора.
<td> <a href="/base/system/{{detail.system_id}}" > {{ detail.system_id.system_name }} </a> </td>
Я попытался detail.system_id.system_id
, и он возвращает django.db.models.fields.AutoField
.Я хочу, чтобы он возвращал числовой идентификатор для ссылки.