Django中admin多选框表单的实现思路和方法是什么
Admin 2022-07-20 群英技术资讯 1646 次浏览
这篇文章主要讲解了“Django中admin多选框表单的实现思路和方法是什么”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。
借助django-admin,可以快速得到CRUD界面,但若需要创建多选标签字段时,需要对表单进行调整
model.py
class tag(models.Model): name = models.CharField(max_length=20, verbose_name='标签') class book(models.Model): name = models.CharField(max_length=50, verbose_name='书名') tags = models.TextField(null=True, verbose_name='标签')
admin.py
将对应的model到admin中注册,才能被django-admin发现并使用,所以主要步骤在此,有以下注意点:
# 标签查询
def get_tag_list():
return tag.objects.values_list("name", "name")
# 表单类定义
class bookForm(forms.ModelForm):
tags = forms.MultipleChoiceField(label='标签', widget=widgets.CheckboxSelectMultiple)
def __init__(self, *args, **kwargs):
super(cameraForm, self).__init__(*args, **kwargs)
# 保证每次初始化有最新的标签列表
self.fields['tags'].choices = get_tag_list()
# 由于会在数据库中存储为列表字符串,需在赋值时转回列表对象,才能在修改表单时识别原值
self.initial['tags'] = eval(self.initial['tags'])
class Meta:
model = book
exclude = []
# book扩展
class bookAdmin(admin.ModelAdmin):
search_fields = 'name', 'tags')
list_display = ( 'name', 'tags')
form = bookForm
# 注册到admin中
admin.site.register(book, bookAdmin)
写入到数据库格式
数据库中以列表形式存储字符串

django表单样式

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了python神经网络学习利用PyTorch进行回归运算的实现代码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
内容介绍1.简单粗暴的方法--对mysql库进行封装2.Python的探针3.制作探针模块4.直接替换方法5.总结1.简单粗暴的方法--对mysql库进行封装要统计一个执行过程,就需要知道这个执行过
这篇文章主要为大家详细介绍了Python Django框架中表单的用法,例如表单的验证以及利用表单实现文件上传等,感兴趣的小伙伴可以了解一下
本文给大家分享怎样使用Python实现贪心算法,小编觉得比较有趣,因此分享给大家作参考,如果也对贪心算法比较好奇,那就继续往下看吧。
大家好,本篇文章主要讲的是Python3.10和Python3.9版本之间的差异介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008