Django---管理界面簡單設置

一、設置可選字段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)**
相關文章
相關標籤/搜索