1、设置可选字段
为了设置某一个字段是可选的,不如说email,仅仅须要改动其相关的模型,也就是在model.py中改动模型,将email=models.EmailField(blank=True),也就是加入blank=True。
这句代码告诉Django,同意email字段的输入为空。Django中字段的默认blank=false,即是不同意输入为空。
note:django在生成sql语句的时候,会默认的在每个字段的后面加入一个NOT NULL的约束。防止产生空字符串和NULL混淆的问题。可是同一时候却引入了新的问题。对于日期类型和数字类型的数据,直接设置blank=true的时候。非常多数据库都会抛出异常。这是由于插入空的字符串和日期类型或者数字类型是不相符的。
假设真的想为日期或者数字类型的字段插入空的字符串的时候,须要在blank=True,null=True。加入了null=True,相当于更改的数据库的结构,须要改动数据库中的相关的字段。
能够执行manage.py dbshell命令来改动数据库:
ALTER TABLE table_name ALTER COLUMN colunm_name DROP NOT NULL;
2、自己定义字段标签
加入verbose_name
note:能够在固定的位置隐式的引用这个字段,直接将它放在第一个參数就可直接引用。
可是却对于ManyToMany和ForeignKey的字段并不有用,在这种字段中必须显示的引用字段。
3、自己定义列表
加入ModelAdmin类,这个类是自己定义管理工具的关键。能够在admin.py中改动。參考例如以下:
**class AuthorAdmin(admin.ModelAdmin):** **list_display = ('first_name', 'last_name', 'email')**
加入搜索框
class AuthorAdmin(admin.ModelAdmin): list_display = ('first_name', 'last_name', 'email') **search_fields = ('first_name', 'last_name')**这样就能够在界面的上面加入一个模糊搜索框。
加入过滤器
**class BookAdmin(admin.ModelAdmin):** **list_display = ('title', 'publisher', 'publication_date')** **list_filter = ('publication_date',)**
**admin.site.register(Book, BookAdmin)**
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决