I have a custom model manager that looks like this:
class MyManager(models.Manager)
def get_query_set(self):
Only get items that are approved and have a `pub_date` that is in
the past. Ignore the rest.
queryset = super(MyManager, self).get_query_set()
queryset = queryset.filter(status__in=( a ,))
return queryset.filter(pub_date__lte=datetime.utcnow())
And this works well enough; however, I have a problem using Django s generic.list_detail
views object_detail
and object_list
: the queryset seems to be only loading once and, because of this, it isn t fetching the items it should be because, I assume, the utcnow()
time has been called only once (when it first loaded).
I assume this is intentional and meant as a performance boost - however, it means that video s show up elsewhere on the site (in places I am not in a object_detail
view) before they are available in an object_detail
view (see urls.py below). This is leading to 404s ...
Any ideas ? Or do I have to write my own custom views to avoid this ?
Thanks!
urls.py
url(r ^video/(?P<object_id>d+)$ ,
list_detail.object_detail,
{ queryset : Video.objects.all(), },
name= video_detail ,
),