MD6*_*380 12 python django django-models django-admin python-2.7
我是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)
Run Code Online (Sandbox Code Playgroud)
我希望环境模型表示为"app_name environ_name".
更新:我之所以要将环境模型显示为"app_name environ_name",以便在管理页面上输入数据时用户更清楚.例如,app_name将是"NavSystem",environ_name将是"DEV1",因此将环境模型表示为"NavSystem DEV1"比仅使用"DEV1"更有用.
Mic*_*ace 13
您确实可以通过使用'dot'语法引用属性来实现.这是你想要的:
def __unicode__(self):
   return '%s %s' % (self.app_id.app_name, self.environ_name)     
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           5651 次  |  
        
|   最近记录:  |