Python 在表单中显示外键的不同名称

Python 在表单中显示外键的不同名称,python,django,python-3.3,django-1.5,Python,Django,Python 3.3,Django 1.5,我有以下表格: 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名称只是对象的名称(这里是“Uci

我有以下表格:

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”)
)和“对象”。我想更改它以显示不同的名称(名字和姓氏)。如何操作?

这可能就是您正在寻找的-

在模型类中定义它,如下所示:

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

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

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,请使用
\uu str\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

Django教程的第一页介绍了这一点: