一、設置可選字段sql
爲了設置某一個字段是可選的,不如說email,僅僅需要改動其相關的模型,也就是在model.py中改動模型,將email=models.EmailField(blank=True),也就是加入blank=True。shell
這句代碼告訴Django,贊成email字段的輸入爲空。Django中字段的默認blank=false,便是不一樣意輸入爲空。數據庫
note:django在生成sql語句的時候,會默認的在每一個字段的後面加入一個NOT NULL的約束。防止產生空字符串和NULL混淆的問題。但是同一時候卻引入了新的問題。對於日期類型和數字類型的數據,直接設置blank=true的時候。很是多數據庫都會拋出異常。這是因爲插入空的字符串和日期類型或者數字類型是不相符的。工具
假設真的想爲日期或者數字類型的字段插入空的字符串的時候,需要在blank=True,null=True。加入了null=True,至關於更改的數據庫的結構,需要改動數據庫中的相關的字段。post
可以執行manage.py dbshell命令來改動數據庫:spa
ALTER TABLE table_name ALTER COLUMN colunm_name DROP NOT NULL;
二、本身定義字段標籤字符串
加入verbose_nameit
note:可以在固定的位置隱式的引用這個字段,直接將它放在第一個參數就可直接引用。io
但是卻對於ManyToMany和ForeignKey的字段並不有用,在這種字段中必須顯示的引用字段。table
三、本身定義列表
加入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)**