با مقداردهی list_select_related
داخل کلاس ادمین به جنگو میفهمانیم زمانی که SQL JOIN را اجرا میکند، خروجی نتایج رابطه برای هر نمونه اصلی، در یک کوئری واحد پایگاهداده قرار گیرد. این تغییر موجب کاهش کوئری به پایگاهداده میشود.
در مثال زیر مقدار list_select_related = ['collection']
داخل کلاس ProductAdmin
نوشته شده است که موجب میشود موقع دریافت مجموعه محصول به صورت مجزا به پایگاهداده درخواست ارسال نشود.
به نمونه کد زیر دقت کنید:
@admin.register(models.Product)
class ProductAdmin(admin.ModelAdmin):
list_display = ['title', 'price', 'inventory_status', 'collection_title']
list_select_related = ['collection']
def collection_title(self, product):
return product.collection.title
![علی مهدوی](/storage/avatars/7Yvw7RHN3Tyq0t08NJPj8CAWHQC6rf-metaQWxpLmpwZw==-.jpg)
علی مهدوی برنامه نویس ارشد وب
0