gpt4 book ai didi

python - django - 模型 unicode() 显示外键对象属性

转载 作者:太空狗 更新时间:2023-10-29 17:46:53 24 4
gpt4 key购买 nike

我是 Django 新手,有一个应用程序模型和一个环境模型。环境将应用程序作为外键。我知道我需要为模型的人类可读表示编写一个 unicode() 方法,但是有没有办法从外键对象获取属性以显示为字符串的一部分?

class Application(models.Model):
app_id = models.IntegerField(primary_key=True)
app_name = models.CharField(max_length=200)
app_description = models.CharField(max_length=2000, blank=True)

def __unicode__(self):
return self.app_name

class Environment(models.Model):
app_id = models.ForeignKey(Application, db_column='app_id')
environ_id = models.IntegerField(max_length=6)
environ_name = models.CharField(max_length=200)

def __unicode__(self):
return '%s %s' % (application__app_name, self.environ_name)

我希望环境模型表示为“app_name environ_name”。

更新:我之所以要将环境模型显示为“app_name environ_name”,是为了让用户在管理页面上输入数据时更加清楚。例如,app_name 将是“NavSystem”,environ_name 将是“DEV1”,因此将环境模型表示为“NavSystem DEV1”比仅“DEV1”更有用。

最佳答案

您确实可以通过使用“点”语法引用属性。这是您想要的:

def __unicode__(self):
return '%s %s' % (self.app_id.app_name, self.environ_name)

关于python - django - 模型 unicode() 显示外键对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15015253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com