2016-10-13 2 views
-1

У меня есть две моделей, которые могли бы выглядеть примерно так:Джанго фильтр на основе конкретного элемента из обратной связи

Course(models.Model): 
    pass 

WeeklyPrice(models.Model): 
    num_weeks = models.IntegerField() 
    price = models.DecimalField() 
    course = models.ForeignKey(Course) 
    is_erased = models.BooleanField() 

Дело в том, у меня есть форма поиска, которая должна быть в состоянии фильтровать по минимальному числу недель.

В процессе создания курса также создается группа WeeklyPrices, которая затем может быть удалена (логически, установив is_erased в True), поэтому хорошим примером будет то, что в курсе имеется 13 экземпляров WeeklyPrice, начиная с 4-й недели, потому что недели 1, 2 и 3 были удалены.

Так как я могу извлечь из QuerySet Courses с экземпляром WeeklyPrice которого num_weeks меньше или равна duration переменной, извлеченной из формы поиска?

+0

мог я по крайней мере, получить комментарий о том, почему это становится downvoted ? –

ответ

1

Итак, я в конечном итоге выяснить, что это намного проще, чем это звучит ...

Фильтр Необходим:

courses.filter(weekly_prices__is_erased=False, weekly_prices__num_weeks=duration) 
Смежные вопросы