網站首頁 編程語言 正文
對模型中的字段進行驗證
Django模型中的內置字段驗證是所有Django字段預定義的默認驗證。每個字段都帶有來自Django驗證器的內置驗證。例如,IntegerField 附帶了內置驗證,即它只能存儲整數值,并且該值也存儲在特定范圍內。
在極客應用程序的 models.py 文件中輸入以下代碼。
from django.db import models
from django.db.models import Model
# 在此處創建模型。
class GeeksModel(Model):
geeks_field = models.IntegerField()
def __str__(self):
return self.geeks_field
在運行臨時遷移并在Django上遷移并渲染模型之后,讓我們嘗試使用字符串“GfG是最好的”創建一個實例。
你可以在管理界面中看到,不能在整數字段中輸入字符串。同樣,每個字段都有自己的驗證。
基本模型數據類型和字段列表
模型最重要的部分和模型的唯一必需部分是它定義的數據庫字段列表。字段由類屬性指定。以下是 Django 中使用的所有字段類型的列表。
字段名稱 | 描述: |
---|---|
AutoField | 它是一個自動遞增的整數字段。 |
BigAutoField | 它是一個 64 位整數,很像 AutoField,只是它保證適合從 1 到 9223372036854775807 的數字。 |
BigIntegerField | 它是一個 64 位整數,很像 IntegerField,只是它保證適合從 -9223372036854775808 到 9223372036854775807 的數字。 |
BinaryField | 用于存儲原始二進制數據的字段。 |
BooleanField | 真/假字段。 此字段的默認表單構件是復選框輸入。 |
CharField | 它是用于從小到大尺寸輸入的字符串字段 |
DateField | 日期,在 Python 中由日期時間.date 實例表示 |
? | 它用于日期和時間,在 Python 中由日期時間.datetime 實例表示。 |
DecimalField | 它是一個固定精度的十進制數,在 Python 中由十進制實例表示。 |
DurationField | 用于存儲時間段的字段。 |
EmailField | 它是一個字符字段,用于檢查值是否為有效的電子郵件地址。 |
FileField | 它是一個文件上傳字段。 |
FloatField | 它是一個浮點數,在 Python 中由浮點實例表示。 |
ImageField | 它從 FileField 繼承所有屬性和方法,但也驗證上傳的對象是否為有效圖像。 |
IntegerField | 它是一個整數字段。從 -2147483648 到 2147483647 的值在 Django 支持的所有數據庫中都是安全的。 |
GenericIPAddressfield | 字符串格式的 IPv4 或 IPv6 地址(例如 192.0.2.30 或 2a02:42fe::4)。 |
NullBooleanField | 就像布爾字段一樣,但允許 NULL 作為選項之一。 |
PositiveIntegerField | 類似于整數域,但必須為正數或零 (0)。 |
PositiveSmallIntegerField | 就像正整數字段一樣,但只允許某個(依賴于數據庫的)點下的值。 |
SlugField | 鼻涕蟲是一個報紙術語。slug是某物的簡短標簽,僅包含字母,數字,下劃線或連字符。它們通常用于網址。 |
SmallIntegerField | 它類似于整數字段,但只允許某個(依賴于數據庫的)點下的值。 |
TextField | 一個大的文本字段。此字段的默認表單構件是文本區域。 |
TimeField | 一個時間,在 Python 中由日期時間.time 實例表示。 |
URLField | 由網址驗證的網址的字符字段。 |
UUIDField | 用于存儲通用唯一標識符的字段。使用蟒蛇的 UUID 類。在 PostgreSQL 上使用時,它存儲在 uuid 數據類型中,否則存儲在字符(32) 中。 |
關系字段
Django還定義了一組表示關系的字段。
字段名稱 | 描述:? |
---|---|
ForeignKey | 多對一的關系。需要兩個位置參數:與模型相關的類和on_delete選項。 |
ManyToManyField | 多對多關系。需要一個位置參數:與模型相關的類,其工作方式與 ForeignKey 完全相同,包括遞歸和惰性關系。 |
OneToOneField | 一對一的關系。從概念上講,這類似于具有 unique=True 的外來密鑰,但關系的“反向”端將直接返回單個對象。 |
字段選項
字段選項是為每個字段提供的參數,用于應用某些約束或將特定特征賦予特定字段。例如,將參數 null = True 添加到 CharField 將使其能夠在關系數據庫中存儲該表的空值。
以下是字符字段可以使用的字段選項和屬性。
字段選項 | 描述:? |
---|---|
Null | 如果為 True,Django 將在數據庫中將空值存儲為?NULL。默認值為假。 |
Blank | 如果為?True,則允許該字段為空。默認值為假。 |
db_column | 要用于此字段的數據庫列的名稱。如果沒有給出,Django將使用該字段的名稱。 ? |
Default | 字段的默認值。這可以是值或可調用的對象。如果可調用,則每次創建新對象時都會調用它。 ? |
help_text | 要與表單小部件一起顯示的額外“幫助”文本。即使您的字段未在表單上使用,它對于文檔也很有用。 ? |
primary_key | 如果為 True,則此字段是模型的主鍵。 |
editable | 如果為 False,則該字段將不會顯示在管理員或任何其他模型窗體中。在模型驗證期間也會跳過它們。默認值為?True。 ? |
error_messages | error_messages參數允許您覆蓋字段將引發的默認消息。傳入包含與要覆蓋的錯誤消息匹配的鍵的字典。 ? |
help_text | 要與表單小部件一起顯示的額外“幫助”文本。即使您的字段未在表單上使用,它對于文檔也很有用。 ? |
verbose_name | 字段的人類可讀名稱。如果未給出詳細名稱,Django 將使用字段的屬性名稱自動創建它,并將下劃線轉換為空格。 ? |
validators | 要為此字段運行的驗證程序列表。 ? |
Unique | 如果為 True,則此字段在整個表中必須是唯一的。 |
原文鏈接:https://juejin.cn/post/7154621244665495565
相關推薦
- 2023-01-15 使用tf.keras.MaxPooling1D出現錯誤問題及解決_python
- 2023-06-19 Python進行文件處理的示例詳解_python
- 2022-10-30 Go中的錯誤和異常處理最佳實踐方法_Golang
- 2023-09-12 linux的root用戶,用戶組
- 2022-04-11 golang如何操作csv文件詳解_Golang
- 2022-11-12 詳解Golang如何實現支持隨機刪除元素的堆_Golang
- 2022-06-21 C語言超詳細講解文件的操作_C 語言
- 2022-12-11 python中windows鏈接linux執行命令并獲取執行狀態的問題小結_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支