在Django的一个地方从多个模型中获取N个最近的对象



我正在使用Python(3.7)和Django(3)进行一个项目,其中我创建了4个模型,例如A,B,CD。所有这些模型都存储任何类型的报告。现在在主页上,我需要显示所有这些模型的10个最近的报告。

我怎样才能做到这一点?

这些模型之间没有任何外键。

Frommodels.py:

class DistributionReport(models.Model):
RequestId = models.CharField(max_length=256, blank=False, default=0)
Currency = models.CharField(max_length=3, blank=False)
Denomination = models.IntegerField(blank=False, default=0)decimal_places=2)
date = models.DateField(default=datetime.date.today)
class Meta:
verbose_name = 'Distribution Report'
def __str__(self):
return self.RequestId

class ExpenditureReport(models.Model):
RequestId = models.CharField(max_length=256, blank=False, default=0)
StaffExpenditure = models.DecimalField(max_digits=12, decimal_places=2)
Month = models.IntegerField(blank=False, default=0)
Quarter = models.IntegerField(blank=False, default=0)
Year = models.IntegerField(blank=False, default=0)
class Meta:
verbose_name = 'Expenditure Report'
def __str__(self):
return self.RequestId

class StorageReport(models.Model):
RequestId = models.CharField(max_length=256, blank=False, default=0)
Currency = models.CharField(max_length=5, blank=False)
Denomination = models.IntegerField(blank=False, default=0)
date = models.DateField(default=datetime.date.today)
class Meta:
verbose_name = 'Processing Report'
def __str__(self):
return self.RequestId

class AssetsReport(models.Model):
RequestId = models.CharField(max_length=256, blank=False, default=0)
AssetClassificationId = models.IntegerField(blank=False, default=0)
VaultCapacity = models.DecimalField(max_digits=10, decimal_places=2)
Year = models.IntegerField(blank=False, default=0)
HalfOftheYear = models.IntegerField(blank=False, default=0)
class Meta:
verbose_name = 'Assets Report'
def __str__(self):
return self.RequestId

类似

objects = Model.objects.filter(<some query>)[:10]

最新更新