【发布时间】:2009-12-17 00:23:21
【问题描述】:
我必须保留一份服务器及其内存模块和驱动器的清单。我创建了三个表。我希望能够检索有关服务器的所有信息,包括内存和驱动器信息,并将其显示在一页中。
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')
...以便以下将生成与服务标签值关联的内存模块和驱动器:
MemoryModule.mems.all()
Drive.drvs.all()
一个。这是一个准确的方法吗 湾。如果是这样,我将如何在模板中显示“MemoryModule.mems.all() 和 Drive.drvs.all()?
【问题讨论】:
标签: django-models