2012-08-12 2 views
0

는 many-to-many :를 쿼리 나는이 같은 대다 필드 모델이 필드 장고

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) 

해당 달에 요금을 청구해야하는 모든 대여 용품을 어떻게 찾을 수 있습니까? 이것은 작동하지 않는 것 같습니다.

또는 BillingCycle 모델에 대한 ManyToMany 관계 과잉이 있습니까? 날짜 배열을 포함하는 더 좋은 방법이 있습니까?

답변

0

그것은 내가 지금처럼 쿼리를 깰 수 다음과 같습니다

billing_month = BillingMonth(month=8) 
billing_cycles = Billing_cycle.objects.filter(months_billed=billing_month) 
equipment_needing_billing = RentalEquipment.objects.filter(billing_cycle__in=billing_cycles) 
+0

무엇입니까 (이다)의 차이 (들) 당신이 당신의 두 가지 방법에주의/오류 (들)? –