-
ModelAdmin
上的formfield_for_foreignkey
方法允許您覆蓋外鍵字段的默認表單字段。例如,要根據用戶返回此外鍵字段的對象子集:class MyModelAdmin(admin.ModelAdmin): def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == "car": kwargs["queryset"] = Car.objects.filter(owner=request.user) return super().formfield_for_foreignkey(db_field, request, **kwargs)
這使用
HttpRequest
實例過濾Car
外鍵字段以僅顯示User
實例擁有的汽車。對於更複雜的過濾器,您可以使用
ModelForm.__init__()
方法根據模型的instance
進行過濾(請參閱處理關係的字段)。例如:class CountryAdminForm(forms.ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields['capital'].queryset = self.instance.cities.all() class CountryAdmin(admin.ModelAdmin): form = CountryAdminForm
本文介紹django.contrib.admin.ModelAdmin.formfield_for_foreignkey
的用法。
聲明
ModelAdmin.formfield_for_foreignkey(db_field, request, **kwargs)
相關用法
- Python Django ModelAdmin.formfield_for_choice_field用法及代碼示例
- Python Django ModelAdmin.formfield_for_manytomany用法及代碼示例
- Python Django ModelAdmin.formfield_overrides用法及代碼示例
- Python Django ModelAdmin.fields用法及代碼示例
- Python Django ModelAdmin.fieldsets用法及代碼示例
- Python Django ModelAdmin.get_changeform_initial_data用法及代碼示例
- Python Django ModelAdmin.get_formset_kwargs用法及代碼示例
- Python Django ModelAdmin.get_urls用法及代碼示例
- Python Django ModelAdmin.readonly_fields用法及代碼示例
- Python Django ModelAdmin.prepopulated_fields用法及代碼示例
- Python Django ModelAdmin.empty_value_display用法及代碼示例
- Python Django ModelAdmin.get_form用法及代碼示例
- Python Django ModelAdmin.get_search_results用法及代碼示例
- Python Django ModelAdmin.autocomplete_fields用法及代碼示例
- Python Django ModelAdmin.date_hierarchy用法及代碼示例
- Python Django ModelAdmin.get_formsets_with_inlines用法及代碼示例
- Python Django ModelAdmin.save_model用法及代碼示例
- Python Django ModelAdmin.view_on_site用法及代碼示例
- Python Django ModelAdmin.get_inline_instances用法及代碼示例
- Python Django ModelAdmin.get_changelist_formset用法及代碼示例
- Python Django ModelAdmin.get_sortable_by用法及代碼示例
- Python Django ModelAdmin.get_ordering用法及代碼示例
- Python Django ModelAdmin.get_changelist_form用法及代碼示例
- Python Django ModelAdmin.get_actions用法及代碼示例
- Python Django ModelAdmin.list_display用法及代碼示例
注:本文由純淨天空篩選整理自djangoproject.com大神的英文原創作品 django.contrib.admin.ModelAdmin.formfield_for_foreignkey。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。