Python 如何在Django的DetailView中获取特定类别的年-月成本摘要?
我有一个包含费用类别的表,当我单击某个类别时,它会将我重定向到这个DetailView页面。然后,我想显示所选类别的年-月成本汇总,以便与我已经得到的类似(每年-月汇总,但不适用于特定类别)。我怎样才能做到这一点 这就是我现在得到的并且被绊倒的东西:Python 如何在Django的DetailView中获取特定类别的年-月成本摘要?,python,django,Python,Django,我有一个包含费用类别的表,当我单击某个类别时,它会将我重定向到这个DetailView页面。然后,我想显示所选类别的年-月成本汇总,以便与我已经得到的类似(每年-月汇总,但不适用于特定类别)。我怎样才能做到这一点 这就是我现在得到的并且被绊倒的东西: def category_summary(): summary_by_year_month = Expense.objects.annotate( month=TruncMonth('date')).values('date').a
def category_summary():
summary_by_year_month = Expense.objects.annotate(
month=TruncMonth('date')).values('date').annotate(
amount=Sum('amount')).order_by()
return summary_by_year_month
MODELS.PY
class Category(models.Model):
name = models.CharField(max_length=50, unique=True)
def __str__(self):
return f'{self.name}'
class Expense(models.Model):
class Meta:
ordering = ('date', '-pk')
category = models.ForeignKey(Category, null=True, blank=True,
on_delete=models.CASCADE)
name = models.CharField(max_length=50)
amount = models.DecimalField(max_digits=8, decimal_places=2)
date = models.DateField(default=datetime.date.today, db_index=True)
def __str__(self):
return f'{self.date} {self.name} {self.amount}'
对于我来说,这个问题最令人困惑的部分是,我如何仅检索所选类别的信息,并在DetailView中向用户显示这些信息?提前感谢您的帮助。为什么您不能在做批注之前按所选类别进行筛选呢?因为我不知道如何进行筛选。我尝试过过滤,做了很多事情,这就是我能做的。我是做Django的新手,从我开始学习它到现在才两周。另外,如果您更具体一些,请提供一些示例代码或其他内容,我将不胜感激。过滤器对于使用Django ORM非常关键:)我建议您阅读以下文档:。另请参阅关于这个问题的Django女孩教程:-整个教程都是推荐的。但是我能让它自动工作吗?我的意思是,当我点击表格中的“运动”类别时,我只会在DetailView中看到该类别的年-月成本,对吗?如果您将其放在视图的上下文中,然后在表单/模板中使用该数据,则是。根据你提出的问题,我强烈建议你通读整个Django女孩教程。。。我保证你会发现它非常有用!