2016-11-07 2 views
0

Ich möchte den Wert von verbose_name so automatisieren, dass er dem Wert des Feldwerts "name" des Objekts in der Datenbanktabelle entspricht.Wert für verbose_name als Feldwert festlegen

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() 

Ich frage mich, ob dieses Gefühl oder eine Abfrage benötigt werden, macht und einige „on_update“ event

+2

"Ausführlicher Name" soll die Anzeige des Modells selbst im Admin ersetzen, in Ihrem Fall '' People''. Es ist kein datensatzabhängiger Wert. – Brian

+0

@Brian das ist genau das, was ich will, der Anzeigename auf dem admin für jedes Objekt eindeutig – Mojimi

+0

Was nicht, macht es keinen Sinn, verbose_name ist der Name für das Modell, nicht für das Objekt. Sie können die Klasse "Peter" nicht aufrufen, nur weil Sie eine Person-Instanz haben, deren Name Peter ist. – Brian

Antwort

0

Es klingt wie Sie eine __str__ Methode für Ihr Modell festlegen möchten.

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 
Verwandte Themen