django admin 后台手动添加数据,设置表单默认自动填充默认值,get_form函数

发布时间 2023-06-10 11:22:00作者: zhangmingda

需求 admin 添加数据,表单某字段默认填充值。

例如电话号默认填充前缀 :+86

 效果

 实现方法:https://www.codenong.com/529890/

在数据库表模型对应的admin后台的管理文件 admin.py  内对应Admin管理类配置 get_form函数

@admin.register(models.UserInfo)
class UserInfoAdmin(ImportExportModelAdmin):
    list_display = ('name', 'email', 'phone', 'description')       # admin后台展示的字段设置,配合admin.py
    search_fields = ('name', 'email', 'phone', 'description')       # admin后台展示的字段设置,配合admin.py
    list_display_links = ('name', 'email', 'phone', 'description')       # admin后台展示的字段设置,配合admin.py

    def get_form(self, request, obj=None, **kwargs):
        form = super(UserInfoAdmin, self).get_form(request, obj, **kwargs)
        form.base_fields['phone'].initial = '+86'
        return form