2015-07-13 55 views
0

在Django中1.8.3的所有領域,我有以下類和他們表現出管理面板中:顯示在OneToOneField字段類型

class Address(models.Model): 
    address_line1 = models.CharField(max_length=64) 
    address_line2 = models.CharField(max_length=64) 
    address_line3 = models.CharField(max_length=64) 
    post_code = models.CharField(max_length=5) 


class Customer(models.Model): 
    name = models.CharField(max_length=64) 
    address = models.OneToOneField(Address) 

現在在管理面板中的客戶表格,地址顯示爲下拉列表菜單。我的問題是:如何顯示Address類中的所有字段而不是Customer窗體中的單個下拉菜單,因爲它是Customer類中的OneToOneField?

在此先感謝

回答

1

如果我是你,我會改變結構,使地址可能是一個內聯。在models.py:

class Customer(models.Model): 
    name = models.CharField(max_length=64) 

class Address(models.Model): 
    costumer = models.OneToOneField(Costumer) 
    address_line1 = models.CharField(max_length=64) 
    address_line2 = models.CharField(max_length=64) 
    address_line3 = models.CharField(max_length=64) 
    post_code = models.CharField(max_length=5) 

,然後在admin.py:

class AddressInline(admin.StackedInline): 
    model = Address 
    extra = 1 
    max_num = 1 

class CostumerAdmin(admin.ModelAdmin): 
    inlines = [AddressInline] 


admin.site.register(Costumer, CostumerAdmin) 
+0

工作就像一個魅力,謝謝! –

相關問題