در زبان برنامهنویسی پایتون و فریمورکی مانند Django، کار با دادهها بسیار ساده و روان انجام میشود. یکی از قابلیتهای مهم برای تعامل با دادهها در پایگاه داده، امکان مرتبسازی یا همان Order By میباشد که به ما اجازه میدهد نتایج کوئریها را بر اساس یک یا چند فیلد مرتب کنیم.
قابلیت Order By در QuerySets ابزاری قوی است که میتواند به توسعهدهندگان کمک کند دادههای بازیافتشده از پایگاه داده را به ترتیب موردنظر خود مرتب کنند. این ویژگی بهخصوص در نمایش فهرستهای مرتبشده از آیتمها در صفحات وب، مانند فهرست محصولات فروشگاه آنلاین یا مطالب وبلاگ، مفید است.
شیوه استفاده از این قابلیت بسیار ساده است؛ تنها کافی است هنگامی که یک QuerySet میسازید، متد order_by()
را به آن اضافه کنید و فیلدهای موردنظر برای مرتبسازی را در آن مشخص نمایید.
بهعنوان مثال، فرض کنید مدل شما یک فهرست از محصولات فروشگاه را نگهداری میکند و میخواهید این فهرست را بر اساس قیمت هر محصول به ترتیب صعودی نمایش دهید. برای انجام این کار در Django، بهسادگی میتوانید از قابلیت Order By استفاده کنید.
بیایید یک مثال عملی ببینیم که چگونه میتوان با استفاده از متد order_by()
یک فهرست از محصولات را مرتبسازی کرد:
from myapp.models import Product
# گرفتن محصولات به ترتیب صعودی بر اساس قیمت
products = Product.objects.all().order_by('price')
در مثال بالا، از مدل Product
برای بازیابی تمام محصولات موجود در پایگاه داده استفاده کردیم و سپس با استفاده از متد order_by('price')
آنها را بر اساس فیلدی به نام price
مرتب کردیم.
توضیح خط به خط کد
from myapp.models import Product
این خط کلاس
Product
را از فایل models.py
در برنامه کاربردی myapp
وارد میکند.products = Product.objects.all()
ایجاد یک کوئریست که تمام آیتمهای مدل
Product
را از پایگاه داده بازیابی میکند.order_by('price')
آیتمهای بازیابیشده را بر اساس فیلد
price
مرتبسازی میکند.