我必须保持服务器及其内存模块&驱动器的清单。我创建了三个表格。我希望能够检索有关服务器的所有信息,包括内存和驱动器信息,并将其显示在一个页面中。多个表和修改的查询集
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