Q() в представлении Django не соблюдается
У меня эта модель:
class Opportunity(models.Model):
[...]
deadline = models.DateField(default=dateformat.format(timezone.now(), 'Y-m-d'))
ongoing = models.BooleanField(default=False)
[...]
Вид:
def opportunities_list_view(request):
opportunities = Opportunity.objects.filter(Q(ongoing=True) | Q(deadline__gte=datetime.now()))
context = {
'opportunities': opportunities,
}
return render(request, 'opportunities/opportunities_list.html', context)
Это шаблон:
{% for opportunity in opportunities %}
<tr>
<td>{{opportunity.title}}</a></td>
[...]
urls.py:
from myapp import opportunities_list_view,
[...]
path('opportunities/', opportunities_list_view, name='opportunities_list')
[...]
В шаблоне отображаются только объекты с deadline__gte=datetime.now(). Если объект имеет ongoing=True и deadline в прошлом, то он не отображается. Разве не об этом должен позаботиться | в моем Q()? Может быть, я что-то упускаю?