我必須保持服務器及其內存模塊&驅動器的清單。我創建了三個表格。我希望能夠檢索有關服務器的所有信息,包括內存和驅動器信息,並將其顯示在一個頁面中。多個表和修改的查詢集
class Server(models.Model):
Name = models.CharField(max_length=25)
ServiceTag = models.CharField(primary_key=True,max_length=12) #Uniquely identifies each server
def __unicode__(self):
return u'%s %s ' % (self.Name, self.ServiceTag)
class MemoryModule(models.Model):
Manufacturer = models.CharField(max_length=15)
Size = models.CharField(max_length=15)
server = models.ForeignKey(Server, max_length=12)
mems = MemoryManager()
def __unicode__(self):
return u'%s %s' % (self.Manufacturer, self.Size)
class Drive(models.Model):
Manufacturer = models.CharField(max_length=15)
Size = models.CharField(max_length=15)
server = models.ForeignKey(Server, max_length=12)
drvs = DriveManager()
def __unicode__(self):
return u'%s %s %s %s %s' % (self.Manufacturer, self.Size)
我正在考慮加入下面的 「經理人」:
class MemoryManager(models.Manager):
def get_query_set(self):
return super(MemoryManager, self).get_query_set().filter(server='CC98361')
class DriveManager(models.Manager):
def get_query_set(self):
return super(DriveManager, self).get_query_set().filter(server='CC98361')
...所以,下面會產生memorymodules與服務標籤值相關聯&驅動器:
MemoryModule.mems.all()
Drive.drvs.all()
一個。這是一個準確的方法 b。如果是這樣,我將如何在模板中顯示「MemoryModule.mems.all()和Drive.drvs.all()?
答案中顯示的模板返回錯誤消息: 無法解析餘數:'()'from'MemoryModule.mems.all()' ...這是我一直有的問題:如何在一個模板中的數據庫中顯示從兩個(或更多)不同表中生成的數據。 – 2009-12-22 13:03:28
我是一個超級nube,「{」MemoryModule「:models.MemoryModule}到字典中是什麼意思?那去哪裏?視圖或模型。 – 2010-01-12 01:51:38
在視圖中,您將字典傳遞給模板。對於大多數視圖,這將通過render_to_response函數完成:http://docs.djangoproject.com/zh/dev/topics/http/shortcuts/#render-to-response。更詳盡的描述可以在這裏找到:http://docs.djangoproject.com/en/dev/ref/templates/api/#compiling-a-string – 2010-01-15 17:47:32