Django model unicode()显示外键对象属性

2024-05-19 08:11:17 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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”更有用。


Tags: name模型selfidapp应用程序dev1环境

热门问题