ModelAdmin,外键关系链

时间:2012-12-21 11:30:49

标签: django modeladmin

我想知道是否有可能以干净的方式在ModelAdmin中打印外键链:

图片我们有这个结构:

class Ma(models.Model):
      fa = models.EmailField()

class Mb(models.Model):
      fb = models.ForeignKey('Ma')

class Mc(models.Model):
      name = models.CharField(max_length=50)
      fc = models.ForeignKey('Mb')

现在使用ModelAdmin:

编辑:(这是无效的)

class McAdmin(admin.ModelAdmin):
     list_display = ('name', 'fc__fb__fa',)

或者我该如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

请参阅this回答:

您可以在McAdmin类上创建一个返回这些嵌套外键值的方法:

class McAdmin(admin.modelAdmin):
    list_display = ('name', 'get_email_foreign_foreign_key')

    def get_email_foreign_foreign_key(self, obj):
        return '%s' % obj.fc.fb.fa