Django 反向关系和不同查询集

Django 反向关系和不同查询集,django,django-models,Django,Django Models,我有下面的模型,我正在尝试解决如何建立反向关系 我想要一个独特的成本率查询集,显示与特定SalesEvent关联的成本率。CostFixedList包含在不同日期发生的所有销售 因此,我会过滤特定SalesEvent的CostFixedList,创建一个它拥有的[不同]成本率列表,然后将其与CostRate模型相匹配 我可以在SQL中轻松地做到这一点,但我不知道如何在ORM中做到这一点 class SalesEvent(models.Model): event_type = models

我有下面的模型,我正在尝试解决如何建立反向关系

我想要一个独特的成本率查询集,显示与特定SalesEvent关联的成本率。CostFixedList包含在不同日期发生的所有销售

因此,我会过滤特定SalesEvent的CostFixedList,创建一个它拥有的[不同]成本率列表,然后将其与CostRate模型相匹配

我可以在SQL中轻松地做到这一点,但我不知道如何在ORM中做到这一点

class SalesEvent(models.Model):
    event_type = models.ForeignKey(EventType, verbose_name="Event Type")
    retailer = models.ForeignKey(Retailer, verbose_name="Retailer")
    ....

class CostRate(models.Model):
    cost_item = models.ForeignKey(CostItem, verbose_name="Item")
    valid_from = models.DateField("From")
    valid_till = models.DateField("Till")
    unit_amount = models.DecimalField("Price Per Unit", max_digits=5, decimal_places=2)

class CostFixedList(models.Model):
    sales_event = models.ForeignKey(SalesEvent)
    cost_rate = models.ForeignKey(CostRate)
    units = models.IntegerField()
    appointment = models.ForeignKey(Appointment, null=True, blank=True)

在我看来,似乎SalesEvent和CostRate之间有一个隐含的多个关系,而through表就是CostFixedList

因此,如果您将其显式化,就可以通过该关系直接查询,而无需做任何聪明的事情。只需将其添加到您的成本费率模型(无需更改架构):

现在您可以执行以下操作:

my_sales_event.costrates.all()

在我看来,似乎SalesEvent和CostRate之间有一个隐含的多个关系,而through表就是CostFixedList

因此,如果您将其显式化,就可以通过该关系直接查询,而无需做任何聪明的事情。只需将其添加到您的成本费率模型(无需更改架构):

现在您可以执行以下操作:

my_sales_event.costrates.all()