2013-03-14 295 views
0

如何让Django将AnotherAim.aimid.code的外键显示在后端AnotherAimAdmin的tabel中?如何让Django Admin显示与外键连接的字段?

这是一个经典的管理员“视图”由两个不同的tabels在后台分离:

class AimAdmin(admin.ModelAdmin): 
    list_display = ('code') 

# AnotherAim and AIM are connected via a foreight key 

class AnotherAimAdmin(admin.ModelAdmin): 
    list_display = ('name','sur_name', 'email') 
    search_fields = ['name','sur_name'] 


admin.site.register(Aim,AimAdmin) 
admin.site.register(AnotherAim, AnotherAimAdmin) 

我的模型看起来是这样的:

class AnotherAim(models.Model): 

    email=models.EmailField(null=True) 
    name= models.CharField(max_length=100) 
    sur_name= models.CharField(max_length=100) 
    code = models.OneToOneField(Aim,null=True) 



class Aim(models.Model): 

    code = models.CharField(max_length=5, null=False) 
    .... 
    .... 
+0

你可以请你发布你的模型? – Brandon 2013-03-14 21:20:16

+0

@Brandon再次感谢;-)看看我的编辑...这个模型看起来有点无用...在真正的它的faaar更大...全新的管理...; – Jurudocs 2013-03-14 21:32:21

回答

1

我会组织我的模型作为这样的:

class Aim(models.Model): 
    code = models.CharField(max_length=5) 

    def __unicode__(self): 
     return self.code 

class AnotherAim(models.Model): 
    email = models.EmailField(blank=True) 
    name = models.CharField(max_length=100) 
    sur_name = models.CharField(max_length=100) 
    aim = models.OneToOneField(Aim, null=True) 

    def __unicode__(self): 
     return self.name # or another field 
+0

谢谢布兰登......但我怎么能将其显示在django admin中的一个tabel中....在一个list_display中编码一个其他字段在一起... – Jurudocs 2013-03-14 21:43:09

+0

您是否试图在更改列表中显示它? – Brandon 2013-03-14 21:43:58

+0

是在概述...我希望这就是变化列表...现在它显示AnotherAimAdmin ModelAmin的'名称','sur_name','电子邮件'...但我想要集成到此视图的代码目标(AimAdmin) – Jurudocs 2013-03-14 21:47:53

相关问题