Django - 在管理面板中查看foreignkey对象的详细信息

时间:2013-01-09 23:19:33

标签: django django-admin django-admin-tools

我有一个如下的模型;

class Lecturer(models.Model):
    name = models.CharField(max_length=200,verbose_name=u'Eğitmenin Adı')
    tc_kimlik_no = models.IntegerField(verbose_name=u'Eğitmenin TC Kimlik Numarası')
    sertifika_no = models.CharField(max_length=200,verbose_name=u'Eğitmenin sertifika numarası')

    def __unicode__(self):
        return self.name


class Certificate(models.Model):
       name = models.CharField(max_length=50,verbose_name=u'Adı ve Soyadı')
       tc_kimlik = models.IntegerField(verbose_name="TC Kimlik No")
       sertifika_no = models.CharField(max_length=200,verbose_name="Sertifika No")
       egitim_tarihi = models.DateField(verbose_name='Eğitim Tarihi')
       hangi_egitim = models.ManyToManyField(Egitim,verbose_name="Hangi Eğitimi aldı?")
       nerde_verildi = models.ForeignKey(City,verbose_name="Eğitim Nerde Verildi")
       lecturer = models.ForeignKey(Lecturer,verbose_name="Eğitmen")

但是在管理面板中,当在证书管理表单中选择讲师对象时,我想看到除了unicode之外的讲师的其他详细信息,例如“tc_kimlik_no和sertifika_no ”。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

猜测您的要求,如果您想展示其他内容,只需在unicode方法中添加:

class Lecturer(models.Model):
    name = models.CharField(max_length=200,verbose_name=u'Eğitmenin Adı')
    tc_kimlik_no = models.IntegerField(verbose_name=u'Eğitmenin TC Kimlik Numarası')
    sertifika_no = models.CharField(max_length=200,verbose_name=u'Eğitmenin sertifika numarası')

    def __unicode__(self):
        return 'Name: %s, Kimlik: %s, Sertifika: %s' % (
            self.name, str(self.tc_kimlik_no), self.sertifika_no)

这就是你想要的吗?