【问题标题】:Showing different name of ForeignKey in form在表单中显示不同的 ForeignKey 名称
【发布时间】:2013-10-16 16:54:27
【问题描述】:

我有这个表格:

class Trida(models.Model):
    název=models.CharField(max_length=20)
    tridni_ucitel=models.ForeignKey(Ucitel, blank=True, null=True)
    predmety=models.ForeignKey(Predmety, blank=True, null=True)

当我将此作为 HTML 表单时,ForeignKey 名称只是对象的名称(此处为“Ucitel” ) 和“对象”。我想更改它以显示不同的名称(名字和姓氏)。怎么样?

【问题讨论】:

    标签: python django python-3.3 django-1.5


    【解决方案1】:

    在你的模型类中定义它如下:

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

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        在目标模型上定义默认的字符串表示:

        class Trida(models.Model):
            název=models.CharField(max_length=20)
            tridni_ucitel=models.ForeignKey(Ucitel, blank=True, null=True)
            predmety=models.ForeignKey(Predmety, blank=True, null=True)
        
        class Ucitel(models.Model):
            firstname=models.CharField(max_length=20)
            lastname=models.CharField(max_length=20)
            ...
        
            def __unicode__(self):
                return u'%s %s' % (self.firstname, self.lastname)
        

        如果您使用的是 Python 3,请使用 __str__() 而不是 __unicode__()

        这在 Django 教程的第一页中有介绍:https://docs.djangoproject.com/en/dev/intro/tutorial01/

        【讨论】:

          猜你喜欢
          • 2013-02-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-06
          • 1970-01-01
          • 2018-01-26
          相关资源
          最近更新 更多