Pro*_*eus 9 django django-admin
假设:我有一个名为Car的模型,它与一个用户有关.我担心的是默认的Django Admin.我通过下拉列表将用户分配给汽车(这是默认的Django行为,所以我被告知).
如果我有1000多个用户可以从下拉菜单中选择,会发生什么.管理员是否处理此问题,如果是这样的话?
默认管理UI显示下拉列表.使用该raw_id_fields选项可通过搜索按钮获取弹出窗口.此窗口允许您查找并选择链接对象.请参阅文档:https://docs.djangoproject.com/en/1.11/ref/contrib/admin/#django.contrib.admin.ModelAdmin.raw_id_fields
默认情况下,Django的管理员使用选择框接口()来表示ForeignKey字段.有时您不希望产生必须选择要在下拉列表中显示的所有相关实例的开销.
您可以使用 django-select2 插件https://github.com/applegrew/django-select2。
您可以执行以下操作:
from django_select2 import AutoModelSelect2Field
class CategoryChoices(AutoModelSelect2Field):
queryset = models.Category.objects
search_fields = ['name__icontains', 'code__icontains']
class NewsAdminForm(forms.ModelForm):
category = CategoryChoices()
class Meta:
model = models.News
exclude = ()
# register in admin
class NewsAdmin(admin.ModelAdmin):
form = NewsAdminForm
admin.site.register(News, NewsAdmin)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5519 次 |
| 最近记录: |