我正在开发一个基本的应用程序,而且我坚持要显示一些信息。 请看一下:
型号:
class Companies(models.Model):
name = models.CharField()
address = models.CharField()
def __unicode__(self):
return self.name
class Payments(models.Model):
company = models.ForeignKey(Companies)
year = models.CharField(choices=YEAR)
month = models.CharField(choices=MONTHS)
date = models.DateField(auto_now_add=True)
我想要一个只显示未支付月费的公司的视图。
所以我开始这样:
def checks(request):
i = datetime.datetime.now()
an_c = i.strftime('%Y')
comp = Companies.objects.all()
pay1 = Payments.objects.filter(an=an_c, month='01')
但是在模板中我不知道如何过滤" comp"名单。 我想在模板中显示来自" comp"的所有记录。除了可以在" pay1.company"中找到的id / pk。
答案 0 :(得分:2)
你不会在模板中这样做。在视图中完成整个事情:
pay1 = Payments.objects.filter(an=an_c, month='01')
comp = Companies.objects.exclude(payments__in=pay1)
(样式注释:Django模型类通常以单数形式命名,而不是复数形式。)