วิธีกำหนดฟิลด์ที่จำเป็นใน Pydantic

Withi Kahnd Fild Thi Capen Ni Pydantic



ฟิลด์บังคับคือฟิลด์ที่ต้องแสดงอยู่ในแบบจำลองข้อมูล ฟิลด์เหล่านี้จำเป็นและไม่สามารถเว้นว่างได้ เนื่องจากจำเป็นเพื่อให้ทำงานได้อย่างถูกต้องหรือดำเนินการตามกระบวนการให้เสร็จสิ้น หากไม่ได้ระบุค่าในฟิลด์ที่จำเป็น Pydantic จะเพิ่มข้อยกเว้น ValueError ช่องสามารถกำหนดเป็นช่องที่ต้องกรอกได้หลายวิธี อย่างไรก็ตาม Pydantic จะตั้งค่าฟิลด์โมเดลข้อมูลทั้งหมดเป็น 'จำเป็น' เป็นค่าเริ่มต้น บทความนี้จะสาธิตวิธีการกำหนดฟิลด์บังคับใน Pydantic นอกจากนี้เรายังจะหารือเกี่ยวกับเคล็ดลับดีๆ บางประการในการใช้ช่องที่ต้องกรอก

ประโยชน์ของการใช้ฟิลด์ที่จำเป็น

การใช้ฟิลด์บังคับใน Pydantic มีประโยชน์หลายประการ

  • การตรวจสอบความสมบูรณ์ของข้อมูล: ช่องที่ต้องกรอกช่วยให้เรามั่นใจได้ว่าโมเดลข้อมูลของเราสมบูรณ์และถูกต้อง วิธีนี้สามารถช่วยป้องกันข้อผิดพลาดในโค้ดและการประมวลผลข้อมูลของคุณได้
  • การป้องกันอินพุตที่เป็นอันตราย: ช่องที่ต้องกรอกยังสามารถใช้เพื่อป้องกันไม่ให้ผู้ใช้ที่เป็นอันตรายฉีดข้อมูลที่ไม่ถูกต้องเข้าสู่ระบบของคุณ
  • ทำให้โค้ดอ่านง่ายขึ้น: คุณสามารถปรับปรุงความสามารถในการอ่านและความเข้าใจโค้ดของคุณได้โดยใช้ช่องที่ต้องกรอก

วิธีกำหนดฟิลด์ที่จำเป็นใน Pydantic

ใน Pydantic มี 3 วิธีในการกำหนดช่องเป็นช่องที่ต้องกรอก มาสำรวจแต่ละรายการโดยละเอียด







การใช้คำอธิบายประกอบ

วิธีที่ง่ายที่สุดในการกำหนดฟิลด์บังคับใน Pydantic คือการใช้คำอธิบายประกอบ การใช้คำอธิบายประกอบซึ่งเป็นประเภทของข้อมูลเมตาเชิงวากยสัมพันธ์ คุณสามารถเพิ่มรายละเอียดเพิ่มเติมเกี่ยวกับตัวแปรและคุณลักษณะของคลาสได้ ใน Pydantic คำอธิบายประกอบจะถูกนำมาใช้เพื่อระบุประเภทข้อมูลที่คาดหวังของช่อง และโดยค่าเริ่มต้น ช่องที่มีคำอธิบายประกอบทั้งหมดจะถือว่าจำเป็น จนกว่าคุณจะทำให้ช่องเป็นทางเลือก



จาก ขี้อาย นำเข้า BaseModel

ระดับ บุคคล ( BaseModel ) : :

ชื่อเต็ม: STR

ความสูง: ลอย

อีเมล : : STR

ในตัวอย่างนี้ ชื่อเต็ม ส่วนสูง และอีเมลเป็นช่องที่ต้องกรอกทั้งหมด หากคุณสร้างอินสแตนซ์ของคลาส Person โดยไม่ระบุค่าสำหรับฟิลด์เหล่านี้ Pydantic จะเพิ่ม ValidationError เพื่อระบุว่าฟิลด์ที่จำเป็นหายไป



พยายาม : :

บุคคล_ข้อมูล = {

'ความสูง' : : 5.8 ,

}

บุคคล = บุคคล ( **บุคคล_ข้อมูล )

ยกเว้น ค่าข้อผิดพลาด เช่น มันคือ:

พิมพ์ ( มันคือ )





ในตัวอย่างนี้ ฟิลด์ full_name หายไป และฟิลด์ความสูงก็หายไปเช่นกัน จำเป็นต้องกรอกทั้งสองฟิลด์นี้ และ ValidationError จะให้ข้อมูลที่ชัดเจนเกี่ยวกับฟิลด์ที่ขาดหายไป

การใช้จุดไข่ปลา (...)

อีกวิธีหนึ่งในการประกาศฟิลด์ตามที่ต้องการใน Pydantic คือการใช้จุดไข่ปลา ( ). นี่เป็นแนวทางที่ชัดเจนของ Pydantic เพื่อทำเครื่องหมายฟิลด์ตามต้องการ



จาก ขี้อาย นำเข้า BaseModel

ระดับ ผลิตภัณฑ์ ( BaseModel ) : :

ชื่อ: STR = ...

ราคา : : ลอย = ...

คำอธิบาย : : STR = ...

ในตัวอย่างนี้ ชื่อฟิลด์ ราคา และคำอธิบายทั้งหมดถูกกำหนดตามที่จำเป็นโดยใช้จุดไข่ปลา วิธีการนี้ทำให้ชัดเจนและมองเห็นได้ว่าไม่สามารถข้ามฟิลด์ใดฟิลด์หนึ่งได้เมื่อสร้างอินสแตนซ์ของคลาสผลิตภัณฑ์

พยายาม : :

ผลิตภัณฑ์_ข้อมูล = {

'ชื่อ' : : 'โทรศัพท์มือถือ' ,

'คำอธิบาย' : : “สมาร์ทโฟนแรม 16Gb” ,

}

ผลิตภัณฑ์ = ผลิตภัณฑ์ ( **ข้อมูลผลิตภัณฑ์ )

ยกเว้น ค่าข้อผิดพลาด เช่น มันคือ:

พิมพ์ ( มันคือ )


ในตัวอย่างนี้ ฟิลด์ราคาหายไป และ ValidationError ระบุอย่างชัดเจนว่าฟิลด์บังคับขาดหายไป

การใช้ฟังก์ชันฟิลด์

ฟังก์ชัน Field จากโมดูล Pydantic มอบความสามารถเพิ่มเติมสำหรับการปรับแต่งการตรวจสอบความถูกต้องของฟิลด์และข้อมูลเมตา คุณสามารถใช้ฟังก์ชันฟิลด์เพื่อประกาศฟิลด์ที่จำเป็นและใช้กฎการตรวจสอบเพิ่มเติมได้

ต่อไปนี้คือวิธีที่คุณสามารถกำหนดฟิลด์ที่ต้องกรอกโดยใช้ฟังก์ชันฟิลด์:

จาก ขี้อาย นำเข้า BaseModel , สนาม

ระดับ ที่อยู่ ( BaseModel ) : :

ถนน: STR = สนาม ( ... , คำอธิบาย = 'ที่อยู่ถนน' )

เมือง: STR = สนาม ( ... )

รหัสไปรษณีย์: STR = สนาม ( ... )

ในตัวอย่างนี้ เราใช้ฟังก์ชัน Field เพื่อกำหนดฟิลด์ที่ต้องกรอก ถนน เมือง และ zip_code พร้อมด้วยกฎการตรวจสอบและคำอธิบายเพิ่มเติม จุดไข่ปลา “…” บ่งชี้ว่าช่องเหล่านี้ต้องถูกกำหนดให้เป็นช่องที่ต้องกรอก

พยายาม : :

ที่อยู่_ข้อมูล = {

'ถนน' : : '111 ถนนสายหลัก' ,

'รหัสไปรษณีย์' : : '123456'

}

ที่อยู่ = ที่อยู่ ( **ที่อยู่_ข้อมูล )

ยกเว้น ค่าข้อผิดพลาด เช่น มันคือ:

พิมพ์ ( มันคือ )

ในตัวอย่างนี้ ฟิลด์เมืองหายไป และ ValidationError ให้ข้อมูลเกี่ยวกับฟิลด์ที่จำเป็นที่ขาดหายไป

ฟิลด์ที่จำเป็นสามารถตรวจสอบได้โดยใช้ฟีเจอร์ Pydantic อื่นๆ เช่น ข้อจำกัดและประเภท ตัวอย่างเช่น คุณสามารถระบุได้ว่าฟิลด์ชื่อต้องเป็นสตริงที่มีความยาวอย่างน้อย 5 อักขระ คุณสามารถใช้ตัวตกแต่งฟิลด์เพื่อปรับแต่งลักษณะการทำงานของฟิลด์ที่จำเป็นได้ ตัวอย่างเช่น คุณสามารถระบุค่าเริ่มต้นสำหรับฟิลด์หรือข้อความที่จะแสดงหากฟิลด์ไม่ได้รับค่า

การใช้หลายวิธีในการกำหนดฟิลด์ที่ต้องการในแบบจำลอง Pydantic เดียว

คุณสามารถใช้ได้หลายวิธีในการกำหนดฟิลด์ที่ต้องกรอกภายในโมเดล Pydantic เดียว ตัวอย่างเช่น คุณสามารถใช้คำอธิบายประกอบสำหรับบางฟิลด์ จุดไข่ปลา ( ) สำหรับรายการอื่นๆ และฟังก์ชันฟิลด์สำหรับการปรับแต่งเพิ่มเติม Pydantic ให้คุณเลือกแนวทางที่ดีที่สุดสำหรับการจัดระเบียบโค้ดและการตั้งค่าความสามารถในการอ่านของคุณ ลองพิจารณาตัวอย่างต่อไปนี้:

จาก ขี้อาย นำเข้า BaseModel , สนาม

ระดับ พนักงาน ( BaseModel ) : :

ชื่อ: STR

แผนก: STR =

เงินเดือน: ลอย = สนาม ( )

ในตัวอย่างนี้ จำเป็นต้องใช้ทุกฟิลด์ เราได้ใช้วิธีการที่แตกต่างกันสามวิธีเพื่อกำหนดฟิลด์ที่จำเป็น ฟิลด์ชื่อใช้คำอธิบายประกอบ แผนกใช้จุดไข่ปลา และเงินเดือนใช้ฟังก์ชันฟิลด์

เคล็ดลับในการใช้ฟิลด์ที่จำเป็น

การปฏิบัติตามแนวทางปฏิบัติที่ดีในการกำหนดฟิลด์บังคับใน Pydantic ถือเป็นสิ่งสำคัญในการสร้างโค้ดที่ราบรื่นและบำรุงรักษาได้ เคล็ดลับต่อไปนี้จะช่วยคุณกำหนดฟิลด์บังคับใน Pydantic:

  1. ใช้ชื่อฟิลด์ที่ชัดเจนและเป็นคำอธิบาย : เลือกชื่อที่มีความหมายสำหรับสาขาของคุณซึ่งระบุวัตถุประสงค์อย่างชัดเจน สิ่งนี้ช่วยให้นักพัฒนารายอื่นรู้ว่าข้อมูลใดที่จำเป็นและลดโอกาสที่ฟิลด์ที่จำเป็นจะขาดหายไป
  2. ให้คำอธิบายข้อมูลภาคสนาม : เมื่อใช้ฟังก์ชันฟิลด์เพื่อกำหนดฟิลด์ที่ต้องกรอก ให้ระบุคำอธิบายที่อธิบายวัตถุประสงค์และรูปแบบที่คาดหวังของข้อมูล
  3. กลุ่มสาขาที่เกี่ยวข้อง : หากโมเดลข้อมูลของคุณมีฟิลด์จำนวนมาก ให้พิจารณาจัดกลุ่มฟิลด์ที่เกี่ยวข้องให้เป็นโครงสร้างที่ซ้อนกัน วิธีนี้จะช่วยให้โค้ดของคุณอ่านง่ายขึ้น และทำให้การจัดการฟิลด์ที่จำเป็นง่ายขึ้น
  4. ใช้ข้อความที่กำหนดเองสำหรับฟิลด์บังคับ: ตามค่าเริ่มต้น Pydantic จะเพิ่มข้อยกเว้น ValueError หากไม่ได้ระบุค่าในฟิลด์ที่จำเป็น คุณปรับแต่งข้อความแสดงข้อผิดพลาดได้โดยระบุอาร์กิวเมนต์ของข้อความให้กับเครื่องมือตกแต่งช่อง

บทสรุป

ตามค่าเริ่มต้น Pydantic จะทำให้ฟิลด์ต่างๆ เป็นไปตามที่ต้องการ อย่างไรก็ตาม คุณสามารถกำหนดฟิลด์เป็นฟิลด์บังคับได้อย่างชัดเจน การประกาศฟิลด์ตามที่จำเป็นทำให้มั่นใจได้ว่าโมเดลข้อมูลของคุณถูกต้อง ครบถ้วน และสอดคล้องกับความต้องการของคุณ ในโพสต์นี้ เราได้กล่าวถึงวิธีการที่แตกต่างกันสามวิธีในการกำหนดฟิลด์บังคับใน Pydantic ได้แก่ คำอธิบายประกอบ จุดไข่ปลา (...) และฟังก์ชันฟิลด์ นอกจากนี้ เรายังดูแนวทางปฏิบัติที่แนะนำบางประการสำหรับการใช้ฟิลด์บังคับ เพื่อให้คุณสามารถระบุฟิลด์ในแบบจำลองข้อมูลของคุณได้อย่างมีประสิทธิภาพ