0Pricing
Django Academy · บทเรียน

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.objects

Grab 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. all(), get() และ filter()
  2. การค้นหาด้วยฟิลด์และ exclude()
  3. order_by การตัดแบ่ง และการประเมินแบบขี้เกียจ
  4. values, values_list และ count
← กลับไปที่ Django Academy