Django Academy · บทเรียน

กำหนดคลาสโมเดล

เปลี่ยนคลาส Python ให้เป็นตารางฐานข้อมูล

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

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

คลาสที่กลายเป็นตาราง

ใน Django โมเดล คือคลาส Python ที่อธิบายข้อมูลประเภทหนึ่ง โมเดลแต่ละตัวจะกลายเป็นตารางจริงในฐานข้อมูลให้คุณ

สืบทอดจาก models.Model

โมเดลทุกตัวสืบทอดจาก models.Model คลาสแม่นี้มอบความสามารถทั้งหมดที่ทำให้คลาสของคุณสื่อสารกับฐานข้อมูลได้ 🗄️

from django.db import models

class Book(models.Model):
    pass

ฟิลด์คือแอตทริบิวต์ของคลาส

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

class Book(models.Model):
    title = models.CharField(max_length=200)

หนึ่งฟิลด์ต่อหนึ่งคอลัมน์

ให้คิดง่าย ๆ ว่า ฟิลด์หนึ่งตัวจับคู่กับคอลัมน์หนึ่งคอลัมน์ เพิ่มฟิลด์ก็เท่ากับเพิ่มคอลัมน์ในตาราง

class Book(models.Model):
    title = models.CharField(max_length=200)
    pages = models.IntegerField()

โมเดลอยู่ใน models.py

คุณเขียนโมเดลไว้ภายในไฟล์ models.py ของแต่ละแอป Django จะค้นหาโครงสร้างข้อมูลของแอปนั้นจากที่นี่

คีย์หลักอัตโนมัติ

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

ไม่ต้องใช้ SQL

คุณไม่ต้องเขียน CREATE TABLE ด้วยตนเอง ORM จะแปลงคลาส Python ของคุณเป็น SQL ทำให้คุณทำงานอยู่ใน Python ได้ตลอด

จากชื่อคลาสเป็นชื่อตาราง

โดยค่าเริ่มต้น ชื่อตาราง คือป้ายกำกับแอปต่อด้วยชื่อคลาสที่เปลี่ยนเป็นตัวพิมพ์เล็ก เช่น app_book Django จะเลือกชื่อที่เหมาะสมให้คุณ

อินสแตนซ์คือแถว

อินสแตนซ์ของโมเดลแต่ละตัวคือข้อมูลหนึ่งแถว การสร้างออบเจ็กต์ Book หมายถึงคุณกำลังอธิบายระเบียนหนังสือหนึ่งรายการ

book = Book(title="Dune", pages=412)

เอกพจน์และ CapitalizedNames

ตั้งชื่อโมเดลด้วย เอกพจน์แบบ CamelCase: ใช้ Book ไม่ใช่ Books Django จะเติมรูปพหูพจน์ให้เมื่อจำเป็นในส่วนผู้ดูแลระบบ

การย้ายข้อมูลทำให้เกิดขึ้นจริง

โมเดลเป็นเพียงแผนจนกว่าคุณจะเรียกใช้ การย้ายข้อมูล ขั้นตอนนี้จะสร้างตารางที่ตรงกันภายในฐานข้อมูลจริงของคุณ

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

มาดูกันว่าโมเดล Django จับคู่กับสิ่งใดในความเป็นจริง

สรุป: โมเดลโดยย่อ

คุณได้เรียนรู้ว่า โมเดล คือคลาสที่ขยาย models.Model ฟิลด์ของโมเดลจะกลายเป็นคอลัมน์ และการย้ายข้อมูลจะเปลี่ยนโมเดลให้เป็นตารางจริง เริ่มต้นได้ดีมากครับ/ค่ะ! 🎉

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

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

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

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

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

บทเรียน “กำหนดคลาสโมเดล” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “กำหนดคลาสโมเดล”

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

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

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

บทเรียน “กำหนดคลาสโมเดล” ใช้เวลานานแค่ไหน

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

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

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

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

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