Django Academy · บทเรียน

ตัวเลือกฟิลด์: null, blank, default

ควบคุมค่าที่คอลัมน์ยอมรับ

บทเรียน 3 จาก 413 ขั้นตอน

ตัวเลือกฟิลด์: null, blank, default เป็นบทเรียน Django Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Django Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน

ปรับแต่งแต่ละฟิลด์

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

null เกี่ยวข้องกับฐานข้อมูล

ตัวเลือก null กำหนดว่าคอลัมน์ในฐานข้อมูลสามารถเก็บค่า NULL ได้หรือไม่ เมื่อกำหนด null=True คอลัมน์นั้นจะว่างในฐานข้อมูลได้

summary = models.TextField(null=True)

blank เกี่ยวข้องกับฟอร์ม

ตัวเลือก blank ควบคุมการตรวจสอบความถูกต้อง ไม่ใช่ฐานข้อมูล เมื่อกำหนด blank=True ฟอร์มจะอนุญาตให้เว้นฟิลด์นี้ว่างได้

summary = models.TextField(blank=True)

null และ blank แตกต่างกัน

โปรดจำความแตกต่างนี้ไว้: null มีผลต่อชั้นฐานข้อมูล ส่วน blank มีผลต่อการตรวจสอบความถูกต้องของฟอร์ม ทั้งสองตัวเลือกใช้แก้ปัญหาคนละอย่าง

หลีกเลี่ยง null กับฟิลด์ข้อความ

สำหรับฟิลด์สตริง ให้ข้าม null แล้วใช้ blank=True แทน Django นิยมใช้สตริงว่างมากกว่า NULL เพื่อไม่ให้มีสถานะว่างอยู่สองแบบ

note = models.CharField(max_length=100, blank=True)

default กำหนดค่าให้โดยอัตโนมัติ

ตัวเลือก default กำหนดค่าที่จะใช้เมื่อไม่มีการระบุค่า ทำให้แถวใหม่เริ่มต้นด้วยข้อมูลที่เหมาะสม

views = models.IntegerField(default=0)

ค่าเริ่มต้นแบบเรียกใช้งานได้

default อาจเป็นสิ่งที่เรียกใช้งานได้ เช่น timezone.now ให้ส่งตัวฟังก์ชันเองโดยไม่ใส่วงเล็บ เพื่อให้ฟังก์ชันทำงานกับแต่ละแถวใหม่

created = models.DateTimeField(default=timezone.now)

unique ป้องกันข้อมูลซ้ำ

เพิ่ม unique=True แล้วฐานข้อมูลจะไม่ยอมให้มีสองแถวที่มีค่าเดียวกัน เหมาะสำหรับชื่อผู้ใช้หรือ slug 🚫

username = models.CharField(max_length=50, unique=True)

choices จำกัดตัวเลือก

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

STATUS = [("d", "Draft"), ("p", "Published")]
status = models.CharField(max_length=1, choices=STATUS)

ใช้ตัวเลือกหลายรายการร่วมกัน

คุณสามารถใช้ ตัวเลือกหลายรายการร่วมกันในฟิลด์เดียวได้อย่างอิสระ เช่น blank=True ร่วมกับ default เพื่อระบุพฤติกรรมที่ต้องการอย่างชัดเจน

tagline = models.CharField(max_length=120, blank=True, default="")

การเปลี่ยนแปลงต้องมี Migration

การแก้ไข ตัวเลือกจะเปลี่ยนโครงสร้างฐานข้อมูล หลังจากปรับ null, default หรือ unique แล้ว ให้เรียกใช้ Migration เพื่อให้ฐานข้อมูลสอดคล้องกัน

ตรวจสอบความเข้าใจสั้น ๆ

ความแตกต่างที่แท้จริงระหว่าง null กับ blank คืออะไร

ทบทวน: ตัวเลือกของฟิลด์

ตอนนี้คุณทราบแล้วว่า null อยู่ในระดับฐานข้อมูล blank อยู่ในระดับฟอร์ม default ใช้กำหนดค่าเริ่มต้น และ unique ป้องกันข้อมูลซ้ำ ปรับแต่งฟิลด์ได้อย่างมั่นใจเลยครับ ✨

เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

คำถามที่พบบ่อย

บทเรียน “ตัวเลือกฟิลด์: null, blank, default” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ตัวเลือกฟิลด์: null, blank, default” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Django Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ตัวเลือกฟิลด์: null, blank, default”

ควบคุมค่าที่คอลัมน์ยอมรับ คุณปฏิบัติ Django Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Django Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Django Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “ตัวเลือกฟิลด์: null, blank, default” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Django Academy นี้ได้ไหม

ได้ บทเรียน Django Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. กำหนดคลาสโมเดล
  2. เลือกชนิดฟิลด์
  3. ตัวเลือกฟิลด์: null, blank, default
  4. str และคลาส Meta
← กลับไปที่ Django Academy