我有一个多对多字段的模型,如下所示:
class BillingMonth(models.Model):
month = models.IntegerField(min=1, max=12)
class BillingCycle(models.Model):
description = models.CharField()
months_billed = models.ManyToManyField(BillingMonth)
每个 BillingCycle(每月、每季度等)将在一个或多个月内计费。租赁设备模型如下所示:
class RentalEquipment(models.Model):
description = models.CharField()
billing_cycle = models.ForeignKey(BillingCycle)
如何找到应在给定月份计费的所有 RentalEquipment?这似乎不起作用:
billing_month = BillingMonth(month=8)
RentalEquipment.objects.filter(billing_cycle__months_billed=billing_month)
或者,对于 BillingCycle 模型来说,ManyToMany 关系是否过大?有没有更好的方法来包含日期数组?