2016-11-07 5 views
0

Я хочу автоматизировать значение verbose_name равным значению поля «имя» объекта в таблице базы данных.Установить значение verbose_name как значение поля

from __future__ import unicode_literals 

from django.db import models 

class Person(models.Model): 

    name = models.CharField(max_length=150, blank=True, null=False) 

    class Meta: 
     db_table = '"ADM"."PERSON"' 
     # Just an example: 
     verbose_name = (super).name.getValue() 

Интересно, если это имеет смысл, или будет необходим запрос и некоторые «on_update» событие

+2

«подробное имя» предназначено для замены отображения самой модели в администраторе, в вашем случае «люди». Это не зависящее от записи значение. – Brian

+0

@Brian, это именно то, что я хочу, отображаемое имя администратора должно быть уникальным для каждого объекта. – Mojimi

+0

Что нет, это не имеет смысла, verbose_name - это имя для Модели, а не для объекта. Вы не можете вызвать класс «Питер» только потому, что у вас есть экземпляр Person, чье имя - Питер. – Brian

ответ

0

Это звучит, как вы хотите установить метод __str__ для вашей модели.

from django.utils.encoding import python_2_unicode_compatible 

@python_2_unicode_compatible # only if you need to support Python 2 
class Person(models.Model): 

    name = models.CharField(max_length=150, blank=True, null=False) 

    def __str__(self): 
     return self.name 
Смежные вопросы