all(), get() และ filter()
วิธีหลักในการดึงออบเจ็กต์
all(), get() และ filter() เป็นบทเรียน Django Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Django Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
Meet the Manager
Every model gives you a free objects manager. It is your front door to the database, and every query you write starts from it. 🚪
Book.objectsGrab Everything
Call all() to ask for every row in the table. You get back a QuerySet you can loop over, count, or refine further.
books = Book.objects.all()A QuerySet Is Not a List
A QuerySet looks list-like but it is lazy. Django waits to hit the database until you actually use the results.
Fetch Exactly One
Use get() when you expect a single matching row, like one record found by its primary key.
book = Book.objects.get(pk=1)When get() Fails
get() is strict. If nothing matches it raises DoesNotExist, so reach for it only when you are sure one row exists.
Book.objects.get(pk=999)Too Many Matches
If get() finds more than one row, it raises MultipleObjectsReturned. It truly means one and only one.
Filter for a Subset
Reach for filter() when you want the rows that match a condition. It returns a QuerySet, even if only one row matches.
Book.objects.filter(published=True)Filter Returns Zero or More
Unlike get(), filter() never raises when nothing matches. You simply get an empty QuerySet back instead of an error.
Book.objects.filter(author="Nobody")Multiple Conditions
Pass several keyword arguments to filter() and Django joins them with AND. Every condition must be true.
Book.objects.filter(published=True, year=2024)get vs filter at a Glance
Use get() for one guaranteed object and filter() for a collection. That single choice avoids most beginner query bugs.
Chain Your Filters
Because filter() returns a QuerySet, you can chain calls to narrow results step by step before the database is touched.
Book.objects.filter(published=True).filter(year=2024)Quick Check
You expect a single book and there is no match. Which call raises an error?
Recap
Nice work! all() grabs everything, get() fetches one exact row, and filter() returns a subset you can chain. 🎉
คำถามที่พบบ่อย
บทเรียน “all(), get() และ filter()” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “all(), get() และ filter()” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Django Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “all(), get() และ filter()”
วิธีหลักในการดึงออบเจ็กต์ คุณปฏิบัติ Django Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Django Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Django Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “all(), get() และ filter()” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Django Academy นี้ได้ไหม
ได้ บทเรียน Django Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- all(), get() และ filter()
- การค้นหาด้วยฟิลด์และ exclude()
- order_by การตัดแบ่ง และการประเมินแบบขี้เกียจ
- values, values_list และ count