我正在使用django和jinja2做一个Web应用程序。在我的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对象,我想要它的系统ID。当我尝试访问主键时,它将返回字符串而不是ID。
<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
。我希望它返回链接的数字ID。
答案 0 :(得分:0)
好的,我找到了解决方案。我需要做的是detail.system_id.id
。