關於Django字段類型中 blank和null的區別


blank

設置為True時,字段可以為空。設置為False時,字段是必須填寫的。字符型字段CharField和TextField是用空字符串來存儲空值的。

如果為True,字段允許為空,默認不允許。

null

設置為True時,django用Null來存儲空值。日期型、時間型和數字型字段不接受空字符串。所以設置IntegerField,DateTimeField型字段可以為空時,需要將blank,null均設為True。

如果為True,空值將會被存儲為NULL,默認為False。

如果想設置BooleanField為空時可以選用NullBooleanField型字段。

一句話概括

  • null 是針對數據庫而言,如果 null=True, 表示數據庫的該字段可以為空。
  • blank 是針對表單的,如果 blank=True,表示你的表單填寫該字段的時候可以不填,比如 admin 界面下增加 model 一條記錄的時候。直觀的看到就是該字段不是粗體
  • 通俗點說,該字段null=true后,你進行插入,修改操作時可以為空,然后Django把空值轉換成null存在數據庫中,而blank只是在表單驗證的時候會檢測你是否可以為空


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM