我知道可以使用 Django ORM 使用反向相关字段查询模型。但是是否也可以获取查询匹配的反向相关模型的所有字段?例如,如果我们有以下模型:class Location(models.Model): name = models.CharField(max_length=50)class Availability(models.Model): location = models.ForeignKey(Location, on_delete=models.CASCADE) start_datetime = models.DateTimeField() end_datetime = models.DateTimeField() price = models.PositiveIntegerField()是否有可能找到Location在特定时间范围内可用的所有sprice并Location在该可用性期间获得 s ?我们假设Availability具有相同位置的对象不能有重叠的开始/结束日期时间。如果user_start_datetime和user_end_datetime是由用户输入的,那么我们可能会执行以下操作:Location.objects.filter( availability__start_datetime__lte=start_datetime, availability__end_datetime__gte=end_datetime)但我不确定如何获取导致查询匹配price的特定字段availability。在原始 SQL 中,我正在谈论的行为可能可以通过以下方式实现:SELECT l.id, l.name, a.priceFROM Location lINNER JOIN Availability aON a.location_id = l.idWHERE /* availability is within user-inputted timeframe */我考虑过使用类似的东西prefetch_related('availability_set'),但这只会为我提供与查询匹配的对象的所有可用性Location。我只是想一个 availability,这是该期限内被查询,以及更具体地讲,price那availability。
添加回答
举报
0/150
提交
取消