فهرست سرفصل‌های Django
خانه (Home) مقدمه (Intro) شروع به کار (Get Started) ساخت محیط مجازی (Create Virtual Environment) نصب (Install Django) ساخت پروژه (Create Project) ساخت اپ (Create App) ویوها (Views) آدرس ها (URLs) قالب ها (Templates) مدل ها (Models) افزودن داده (Insert Data) به روزرسانی داده (Update Data) حذف داده (Delete Data) به روزرسانی مدل (Update Model) آماده سازی قالب و ویو (Prep Template and View) افزودن لینک به جزئیات (Add Link to Details) افزودن قالب مادر (Add Master Template) افزودن صفحه ایندکس اصلی (Add Main Index Page) قالب 404 (404 Template) افزودن ویوی تست (Add Test View) پنل مدیریت (Admin) ساخت کاربر (Create User) افزودن مدل ها (Include Models) تنظیم List Display (Set List Display) به روزرسانی اعضا (Update Members) افزودن اعضا (Add Members) حذف اعضا (Delete Members) متغیرها (Variables) تگ ها (Tags) شرط if/else (If Else) حلقه for (For Loop) کامنت (Comment) include (Include) معرفی QuerySet (QuerySet Introduction) متد get (QuerySet Get) فیلتر (QuerySet Filter) مرتب سازی (QuerySet Order By) افزودن فایل های استاتیک (Add Static Files) نصب WhiteNoise (Install WhiteNoise) جمع آوری فایل های استاتیک (Collect Static Files) افزودن فایل های استاتیک سراسری (Add Global Static Files) افزودن استایل به پروژه (Add Styles to the Project) مقدمه (PostgreSQL Intro) ساخت حساب AWS (Create AWS Account) ساخت دیتابیس در RDS (Create Database in RDS) اتصال به دیتابیس (Connect to Database) افزودن اعضا (Add Members) Elastic Beanstalk (EB) ساخت requirements.txt (Create requirements.txt) ساخت django.config (Create django.config) ساخت فایل zip (Create .zip File) استقرار با EB (Deploy with EB) به روزرسانی پروژه (Update Project) افزودن فیلد slug (Add Slug Field) افزودن Bootstrap 5 (Add Bootstrap 5) مرجع تگ های قالب (Template Tag Reference) مرجع فیلترها (Filter Reference) مرجع Field Lookups (Field lookups Reference) کامپایلر (Compiler) تمرین ها (Exercises) آزمون (Quiz) سرفصل (Syllabus) برنامه مطالعه (Study Plan) سرور (Server) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
Django

Django — مرتب سازی (QuerySet Order By)

آخرین بروزرسانی: 1404/08/20

مرتب سازی (QuerySet Order By)

می خواهیم نتایج دیتابیس را مرتب کنیم. «مرتب سازی (Order)» یعنی چیدمان داده ها. با متد order_by() می گوییم بر چه فیلدی بچیند. مثل مرتب کردن لیست دانش آموزان بر اساس نام.

مرتب سازی صعودی با order_by()

صعودی یعنی از کوچک به بزرگ. رشته ها هم الفبایی می شوند. کافی است نام فیلد را بدهیم.

mydata = Member.objects.all().order_by('firstname').values()

مشاهده در ادیتور

در SQL همین کار این گونه است:

SELECT * FROM members ORDER BY firstname;

مشاهده در ادیتور

مرتب سازی نزولی با علامت منفی

نزولی یعنی بزرگ به کوچک. قبل از نام فیلد یک - بگذار.

mydata = Member.objects.all().order_by('-firstname').values()

مشاهده در ادیتور

در SQL معادل آن این است:

SELECT * FROM members ORDER BY firstname DESC;

مشاهده در ادیتور

مرتب سازی چندسطحی

می توانی چند فیلد بدهی. اولی معیار اصلی است. بعدی ها در تساوی ها تصمیم می گیرند.

mydata = Member.objects.all().order_by('lastname', '-id').values()

مشاهده در ادیتور

و نسخه SQL به این شکل است:

SELECT * FROM members ORDER BY lastname ASC, id DESC;

مشاهده در ادیتور

نکته: نام فیلد بدون خط تیره یعنی صعودی. با - یعنی نزولی.

گام های عملی

  1. مدل و QuerySet را آماده کن.
  2. order_by() را با نام فیلد صدا بزن.
  3. برای نزولی، قبل از فیلد - بگذار.
  4. برای چند سطح، چند نام فیلد بده.
  5. نتیجه را در قالب نمایش بده.

جمع بندی سریع

  • order_by() ترتیب نتایج را تعیین می کند.
  • پیش فرض صعودی است.
  • -field یعنی نزولی.
  • چند فیلد را پشت سرهم بده.
  • SQL معادل را راحت مقایسه کن.

ادامه مسیر: برای ساخت شرط ها سر بزن به فیلتر QuerySet. برای آشنایی پایه ها، صفحه معرفی QuerySet را بخوان. سپس با فایل های استاتیک جنگو ادامه بده.