0

我有这个表格:

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

4

3 回答 3

1

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

def __unicode__(self):
    return self.first_name + self.last_name
于 2013-10-16T17:03:30.670 回答
0

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

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-10-16T19:43:49.860 回答
0

这可能是您正在寻找的 - https://docs.djangoproject.com/en/dev/topics/db/models/#verbose-field-names

于 2013-10-16T17:03:22.227 回答