我知道如果我覆盖该方法,我可以获取ForeignKey
基于查询集过滤的添加/更改表单中的表单中显示的值列表。get_form
但是我怎样才能更改这些字段的显示名称?我知道我可以使用formfield_for_foreignkey
方法,但是我没有对象来过滤查询集。我不能同时使用两者,因为一个会覆盖另一个。
def get_form(self, request, obj=None, **kwargs):
form = super().get_form(request, obj, **kwargs)
value = ... #some value used for filtering
form.base_fields['some_field'].queryset = (
MyModel.objects.filter(other_field=value)
.order_by('name')
)
return form
此外,当我使用get_form
过滤的查询集时,如果我正在访问 change_form 页面,即使我正在编辑的模型实例具有它的值,该字段也是空白的。有什么想法吗?