2016-11-07 79 views
0

我想将verbose_name值自动化为与数据库表中对象的“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

“verbose name”是为了取代模型本身在管理员中的显示,在你的情况下是''People''。它不是一个与记录相关的值。 – Brian

+0

@布莱恩这正是我想要的,管理员的显示名称是唯一的每个对象 – Mojimi

+0

什么不,它没有任何意义,verbose_name是模型的名称,而不是对象。你不能仅仅因为你有一个名为Peter的Person实例就调用这个类“Peter”。 – 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