ตัวเลือกฟิลด์: null, blank, default
ควบคุมค่าที่คอลัมน์ยอมรับ
ตัวเลือกฟิลด์: 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- กำหนดคลาสโมเดล
- เลือกชนิดฟิลด์
- ตัวเลือกฟิลด์: null, blank, default
- str และคลาส Meta