在models.py中重命名ForeignKey

时间:2014-02-04 20:41:38

标签: python django rename models

我以这种方式创建了一个models.py:

class Customer(models.Model):
    zip = models.IntegerField("Postleitzahl") 
    place = models.CharField("Ort", max_length=32)
    customer_number = models.CharField("Kundennummer", max_length=32) 
    bank = models.ForeignKey("Bank", Bank)


    def __unicode__(self):
        return unicode(self.first_name) + ' ' + unicode(self.last_name)

    def get_absolute_url(self):
        return "/customers/detail/%i" % self.id

现在我想在模型中“重命名”我的属性。例如,我想显示单词“Postleitzahl”而不是zip。这非常好用,但是当我试图“重命名”ForeignKey银行时,我的manage.py无法运行服务器。

有谁知道,如何重命名ForeignKey? 非常感谢你的帮助!

1 个答案:

答案 0 :(得分:3)

为其添加verbose_name参数:

bank = models.ForeignKey(Bank, verbose_name="Bank")

来自docs

  

每个字段类型,但ForeignKey,ManyToManyField和   OneToOneField采用可选的第一个位置参数 - 一个详细的   名称。如果未给出详细名称,Django将自动执行   使用字段的属性名称创建它,将下划线转换为   空格。

     

ForeignKey,ManyToManyField和OneToOneField需要第一个   参数是模型类,因此请使用verbose_name关键字参数