擅长:python、mysql、java
<p><a href="https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django.contrib.admin.ModelAdmin.formfield_for_foreignkey" rel="noreferrer">ModelAdmin specific ordering via formfield_for_foreignkey</a></p>
<pre><code>class MyModelAdmin(admin.ModelAdmin):
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == "author":
kwargs["queryset"] = Author.objects.filter(anyfilters=anyfilters).order_by('name')
return super(MyModelAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
</code></pre>
<p><strong>注意</strong>我最好不要在<code>model</code>上设置排序,因为管理页的排序需要与模型分离。</p>
<p>此外,对模型激发的所有查询都将使用<code>order_by</code>列,在这种情况下,您可能需要将ordering列与其他列一起索引。</p>