擅长:python、mysql、java
<p>不要使用<code>queryset</code>类变量,而是重写<code>get_queryset</code>。总的来说,我认为<code>queryset</code>有点像是在说青鱼。如果只指定<code>model</code>,Django会自动将queryset设置为<code>self.model.objects.all()</code>。如果需要任何筛选,100次中有99次需要重写<code>get_queryset</code>以确保线程安全。试试下面的方法。在</p>
<pre><code>class ItemArchive(ArchiveIndexView):
model = Item
date_field = 'publish_date'
def get_queryset(self):
return super(ItemArchive, self).get_queryset().published()
</code></pre>