Django 与过滤的复杂关系
我在努力处理ORM中的关系 我想获得与特定事件相关的独特CostItem查询集 通常,我会过滤我感兴趣的特定事件的CostFixedList,并获取成本率id。这样我就可以得到CostItem id了 我可以在SQL中轻松地做到这一点,但不知道如何从ORM开始。谁能给我指出正确的方向吗Django 与过滤的复杂关系,django,django-models,Django,Django Models,我在努力处理ORM中的关系 我想获得与特定事件相关的独特CostItem查询集 通常,我会过滤我感兴趣的特定事件的CostFixedList,并获取成本率id。这样我就可以得到CostItem id了 我可以在SQL中轻松地做到这一点,但不知道如何从ORM开始。谁能给我指出正确的方向吗 class Event(models.Model): event_type = models.ForeignKey(EventType) retailer = models.ForeignKey(
class Event(models.Model):
event_type = models.ForeignKey(EventType)
retailer = models.ForeignKey(Retailer)
....
class CostItem(models.Model):
name = models.CharField("Name", max_length=50, unique=True)
cost_type = models.ForeignKey(CostType, verbose_name="Type")
active = models.BooleanField("Active", default=True)
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):
event = models.ForeignKey(Event)
cost_rate = models.ForeignKey(CostRate)
units = models.IntegerField()
appointment = models.ForeignKey(Appointment, null=True, blank=True)
我认为应该这样做(其中myevent
是您希望获取CostItem查询集的事件):
可能重复的是。这是一个复制品。看起来它没有通过。很抱歉
qs = CostItem.objects.filter(costrate__costfixedlist__event=myevent)