2013-01-23 53 views
2

我有幾個模型,我希望顯示在一個管理頁面中。這裏是我的模型:Django管理員將兩張表合併爲一個頁面

class Server(models.Model): 
    type = models.CharField(max_length=44, choices=TYPES) 
    number = models.CharField(max_length=3) 
    environment = models.CharField(max_length=7, choices=ENVIRONMENTS) 
    location = models.CharField(max_length=3, choices=LOCATONS) 
    cpu = models.PositiveSmallIntegerField() 
    ram = models.PositiveIntegerField() 
    os = models.CharField(max_length=24, choices=OSs, default='CentOS 6.3') 
    eth0_ip = models.IPAddressField(unique=True) 
    eth0_mac = models.CharField(max_length=17, unique=True, null=True, 
          blank=True) 
    confluence_page = models.URLField(null=True, blank=True) 

    class Meta: 
     abstract = True 

    def __unicode__(self): 
     return "%s%s.%s" % (self.type, self.number, self.environment) 

class Real(Server): 
    manufacturer = models.CharField(max_length=20, choices=MANUFACTURERS_REAL) 
    rack = models.CharField(max_length=6, null=True, blank=True) 
    rack_u = models.PositiveSmallIntegerField(null=True, blank=True) 
    serial_num = models.CharField(max_length=8, unique=True, null=True, 
           blank=True) 

class Virtual(Server): 
    manufacturer = models.CharField(max_length=20, 
           choices=MANUFACTURERS_VIRTUAL) 
    host_id = models.ForeignKey(Real) 

如果有反正對我來說,創建/擴展什麼我不知道是/任何一個管理界面,將允許從兩個數據庫中查看所有對象。例如,我可以進入管理員,然後當我點擊應用程序名時,我得到了兩個數據庫的change_list,當我選擇一個特定的對象時,說一個虛擬的,我將獲得管理界面來創建或更改虛擬對象。

如果我不清楚,請讓我知道,我會盡我所能來解釋不同,更清楚。

回答