在Django Admin中,如果想要显示没有标签的ReadOnlyFields,可以通过自定义Admin类来实现。以下是实现的步骤: 1. 创建一个新的Admin类,继承自Django的admin...
ModelAdmin): raw_id_fields = ["newspaper"] raw_id_fields 的Input 部件应该包含一个主键,如果该字段是 `ForeignKey`。或者是一个逗号分隔的值列表,如果该字段是 ManyToManyField。 raw_id_fields 部件在字段旁边显示一个放大镜按钮,允许用户搜索和选择一个值: ModelAdmin.readonly_fields¶ 默认情况下,管理...
def get_readonly_fields(self, request, obj=None): all_fields = list(self.get_fields(request, obj)) user_blocked_fields = all_fields[:] iskom = 'SELFDISPOSAL' naxodim = Articles.objects.filter(delivery_type__title__icontains=iskom) if request.user.has_perm('excels.can_edit_manager_...
Django Admin是Django框架提供的一个强大的后台管理界面,可以方便地管理数据库中的数据。在Django Admin中,我们可以设置字段的默认值来简化数据录入过程。对于只读字段(例如用户外键字段),我们可以通过重写Admin表单的get_readonly_fields方法来设置其默认值。
你可以通过覆盖get_readonly_fields方法来执行此操作,代码如下: Copy defget_readonly_fields(self, request, obj=None):ifobj:return["name","category"]else:return[] 在对象创建时,obj为None,不设置只读字段,当修改对象时,obj为True,name和category为只读字段,不可修改。
函数get_readonly_fields和属性readonly_fields的功能相似,不过前者比后者更为强大。比如使用函数get_readonly_fields实现不同的用户角色来决定字段的可读属性,实现代码如下: View Code 函数get_readonly_fields首先判断当前发生请求的用户是否为超级用户,如果符合判断条件,将重新设置readonly_fields属性,使当前用户具有全部...
fields = ['id','dev','cmd','config_file','created_time'] # 配置备份实际修改字段的需求不大,所以我们全部设置为只读字段。 readonly_fields = fields list_per_page =15 # 侧边标签快捷搜索我们使用命令和设备所属平台,...
django.utils.translationimportugettextas_# 这是国际化处理forfieldinadmin_class.readonly_fields:field_val=getattr(self.instance,field)# 数据库中的值# print("clean ---",self) cleaned_data主要用来检查字段是否符合定义的格式,如果是则返回其值field_web_val=self.cleaned_data.get(field)# 前端修改后的...
This is admin validation rather than model validation, and seems to boil down to whether or not get_readonly_fields should only be used for runtime request-specific overrides or should be considered during validation using mock requests or similar (or if we should relax the admin validation)....
readonly_fields = ("name",) 重启系统后,就可以在列表页看到 name 字段没有修改框,为仅可读状态了。 注意:需要提醒的一点是,上面所有的添加字段属性的操作的值都需要是列表或者元组。 save_as 属性 save_as,这是一个在数据详情页保存时的属性,目前进入数据的详情页,右下角有三个按钮,左边的第一个是save_...