Подтвердить что ты не робот

Django - модель unicode() показать атрибут объекта foreignkey

Я новичок в 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 будет "NavSystem", а имя среды будет "DEV1", поэтому наличие модели среды, представленной как "NavSystem DEV1", более полезна, чем просто "DEV1".

4b9b3361

Ответ 1

Вы действительно можете, ссылаясь на атрибут, используя синтаксис "точка". Вот что вы хотите:

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