2013-03-14 292 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

相關問題