Django ORM JOIN查询

Python爱好者

我有2个模特

class ShipmentBagSealMapping(models.Model):
    bag_seal = models.CharField(max_length = 255)
    status = models.CharField(max_length = 255, default = 'open')
    time = models.DateTimeField( auto_now_add = True, db_index = True)
    shipment_id = models.ForeignKey('Shipment', related_name = 'bags')



class Shipment(models.Model):
    job_id = models.CharField(max_length = 255)
    time = models.DateTimeField( auto_now_add = True, db_index = True)

我想编写一个JOIN查询,该查询告诉我ShipmentBagSealMappingwith中的记录数status = close和of的时间Shipment在range内[start_time and end_time]

这是我尝试过的:

total_bags = ShipmentBagSealMapping.objects.filter(shipments__time__range = [start_time,end_time],status='close').values('bag_seal').distinct().count()

但是它抛出一个错误,说:-

Cannot resolve keyword 'shipments' into field. Choices are: bag_seal, id, shipment_id, status, time

我该怎么做?

海滩卡拉

这应该做到这一点:

total_bags = ShipmentBagSealMapping.objects.filter(shipment_id__time__range = [start_time,end_time],status='close').values('bag_seal').distinct().count()

看到已定义的字段为shipment_idshipments

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章