【发布时间】:2021-10-23 14:32:12
【问题描述】:
让我们采用这个模型:
class Server(models.Model):
name = models.CharField(max_length=100, null=False, blank=False)
cpu = models.PositiveIntegerField(null=False, blank=False)
ram = models.PositiveBigIntegerField(null=False, blank=False)
customer = models.ForeignKey(
Customer,
related_name='Servers',
on_delete=models.SET_NULL,
null=True,
blank=True
)
city = models.ForeignKey(
City,
related_name='Servers',
on_delete=models.CASCADE,
null=True,
blank=True
)
class Disk(models.Model):
server = models.ForeignKey(
Server,
related_name='Disks',
on_delete=models.CASCADE,
null=False,
blank=False
)
size = models.PositiveBigIntegerField(null=False, blank=False)
class Customer(models.Model):
name = models.CharField(max_length=255,
blank=True, null=True)
creation_date = models.DateTimeField(auto_now_add=True)
enabled = models.BooleanField(
blank=False, null=False, default=False)
class City(models.Model):
name = models.CharField(max_length=255,
blank=False, null=False)
country = models.ForeignKey(
Country,
related_name='Cities',
on_delete=models.CASCADE,
null=False,
blank=False
)
class Country(models.Model):
name = models.CharField(max_length=255,
blank=False, null=False)
我想知道每个国家/地区每个客户的每个 CPU、RAM、磁盘空间的总和有多少台服务器。
- 每个服务器都有一个城市,每个城市都在一个国家/地区。
- 一些服务器还没有客户,但我仍然需要知道有多少服务器、CPU、...我没有客户(最终可以创建一个“未知”客户,以便不在服务器中将其设置为无)。 /li>
任何帮助将不胜感激!谢谢!!
【问题讨论】:
标签: django postgresql django-models