我正在尝试在更改列表中对外键进行排序,但它还没有工作。 (我已经看到,当点击表中的排序时,外键时会出错)
class ProductVariantAdmin(admin.ModelAdmin):
fields=["product", "test_software", "test_variables", "name", "description"]
list_display = ("name", "product", "test_software", "test_variables", "description")
search_fields = ["name"]
form = ProductVariantForm
def formfield_for_foreignkey(self, db_field, request, **kwargs):
print db_field.name
if db_field.name == "test_software_id":
kwargs["queryset"] = TestSoftware.objects.all().order_by('name')
return super(ProductVariantAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
我已经看到他们使用了formfield_for_foreignkey,但我仍然按照id而不是外键的名称排序列表。
任何解决方案?我正在使用django 1.4.1。
答案 0 :(得分:1)
formfield_for_foreignkey
仅覆盖下拉菜单。
您可能想要的是在模型Meta
中订购:
class TestSoftware(models.Model):
class Meta:
ordering = ['name']