optimze home page and product page
This commit is contained in:
@@ -15,6 +15,10 @@ from django.shortcuts import redirect, render
|
||||
from django.utils.html import format_html
|
||||
from .permissions import ProductDetailCategoryPermission, ProductAdminPermission, ProductVariantAdminPermission, ProductVariantInlineAdminPermission, InPackItemsAdminPermission, AttributeTypeAdminPermission, AttributeValueAdminPermission
|
||||
from django import forms
|
||||
from django.core.cache import cache
|
||||
|
||||
# Cache key for home page
|
||||
HOME_CACHE_KEY = 'home_view_data_anonymous'
|
||||
|
||||
@admin.register(ProductDetailCategory)
|
||||
class ProductDetailCategoryAdmin(ProductDetailCategoryPermission, ModelAdmin, ImportExportModelAdmin):
|
||||
@@ -299,6 +303,10 @@ class ProductVariantInLine(ProductVariantInlineAdminPermission, StackedInline):
|
||||
return ['price', 'sell', 'price_in_dollor']
|
||||
else:
|
||||
return ['price', 'sell', 'price_in_dollor', 'slider_category']
|
||||
|
||||
def save_formset(self, request, form, formset, change):
|
||||
super().save_formset(request, form, formset, change)
|
||||
cache.delete(HOME_CACHE_KEY)
|
||||
|
||||
from unfold.contrib.filters.admin import RelatedDropdownFilter
|
||||
|
||||
@@ -330,6 +338,10 @@ class ProductVariantAdmin(ProductVariantAdminPermission, ModelAdmin, ImportExpor
|
||||
list_display = ('product', 'created_at')
|
||||
# inlines = [DetailModelInLine]
|
||||
|
||||
def save_model(self, request, obj, form, change):
|
||||
super().save_model(request, obj, form, change)
|
||||
cache.delete(HOME_CACHE_KEY)
|
||||
|
||||
|
||||
@admin.register(ProductModel)
|
||||
class ProductModelAdmin(ProductAdminPermission, ModelAdmin, ImportExportModelAdmin):
|
||||
@@ -369,6 +381,10 @@ class ProductModelAdmin(ProductAdminPermission, ModelAdmin, ImportExportModelAdm
|
||||
else:
|
||||
return ['show_in_bot', 'bot_banner', 'created_at', 'show_in_top_seller','show_in_trends', 'show_in_most_viewed', 'show_in_lot_of_discount','meta_description', 'meta_keywords', 'meta_rating', 'rating', 'view', 'slug']
|
||||
|
||||
def save_model(self, request, obj, form, change):
|
||||
super().save_model(request, obj, form, change)
|
||||
cache.delete(HOME_CACHE_KEY)
|
||||
|
||||
def display_price(self, obj):
|
||||
if obj.variants.all().first():
|
||||
return obj.variants.all().first().price
|
||||
@@ -464,6 +480,11 @@ class MainCategoryModelAdmin(ModelAdmin, ImportExportModelAdmin):
|
||||
}
|
||||
}
|
||||
|
||||
def save_model(self, request, obj, form, change):
|
||||
super().save_model(request, obj, form, change)
|
||||
cache.delete(HOME_CACHE_KEY)
|
||||
cache.delete('all_categories_v2')
|
||||
|
||||
@admin.register(SubCategoryModel)
|
||||
class SubCategoryModelAdmin(ModelAdmin, ImportExportModelAdmin):
|
||||
list_display = ['name', 'parent']
|
||||
@@ -487,6 +508,20 @@ class SubCategoryModelAdmin(ModelAdmin, ImportExportModelAdmin):
|
||||
|
||||
def has_view_permission(self, request, obj = ...):
|
||||
return True
|
||||
|
||||
def has_add_permission(self, request):
|
||||
return True
|
||||
|
||||
def has_change_permission(self, request, obj=None):
|
||||
return True
|
||||
|
||||
def has_delete_permission(self, request, obj=None):
|
||||
return False
|
||||
|
||||
def save_model(self, request, obj, form, change):
|
||||
super().save_model(request, obj, form, change)
|
||||
cache.delete(HOME_CACHE_KEY)
|
||||
cache.delete('all_categories_v2')
|
||||
|
||||
@admin.register(CommentModel)
|
||||
class CommentAdmin(ModelAdmin, ImportExportModelAdmin):
|
||||
|
||||
Reference in New Issue
Block a user