12
私はDjangoを初めて使い、アプリケーションモデルと環境モデルを持っています。環境には、外部キーとしてのアプリケーションがあります。私はユニコード()メソッドを人間が読める形式で記述する必要があることを知っていますが、文字列の一部として表示するために、外部キーオブジェクトから属性を取得する方法はありますか?django-model 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"よりも有用です。
恐ろしい:ここ は、あなたが望むものです。ありがとう! – MD6380
"ドット構文"を使用して外部Keyオブジェクトにアクセスすると、 'NoneType'オブジェクトに 'name'属性がありません。私は自己を使う。。 。属性 "name"が存在します。 –
Timo