store transfer and panel anbar
This commit is contained in:
1 parent
bd775d6249
commit
c5e9b1d18a
13 files changed
+2968
-190
No files matched your search
+32
-1
@@ -18,4 +18,35 @@ admin.site.register(Article)
|
||||
admin.site.register(Sarresid)
|
||||
admin.site.register(Action)
|
||||
admin.site.register(CacheTable)
|
||||
admin.site.register(ProductStockHistory)
|
||||
admin.site.register(ProductStockHistory)
|
||||
|
||||
|
||||
@admin.register(StoreTransferRequest)
|
||||
class StoreTransferRequestAdmin(admin.ModelAdmin):
|
||||
# ۱. حل مشکل لودینگ و هنگ کردن فرم (تبدیل منوی کشویی غولآسا به باکس شناسه عددی)
|
||||
# این دستور فیلدهای پرجمعیت را به شدت بهینه و سبک میکند
|
||||
raw_id_fields = ['out_transaction', 'in_transaction', 'product', 'requester', 'approver']
|
||||
|
||||
# ۲. ستونهایی که میخواهید در صفحه جدول (Changelist) نمایش داده شوند
|
||||
list_display = [
|
||||
'id',
|
||||
'source_store',
|
||||
'target_store',
|
||||
'product',
|
||||
'quantity',
|
||||
'status',
|
||||
'created_at',
|
||||
'action_date'
|
||||
]
|
||||
|
||||
# ۳. فیکس قطعی باگ N+1 (لود کردن روابط در یک کوئری واحد به جای صدها کوئری تودرتو برای __str__)
|
||||
list_select_related = ['source_store', 'target_store', 'product', 'requester', 'approver']
|
||||
|
||||
# ۴. فیلترهای سمت راست صفحه (فقط روی فیلدهای کمجمعیت مثل وضعیت و انبار فیلتر بگذارید)
|
||||
list_filter = ['status', 'source_store', 'target_store', 'created_at']
|
||||
|
||||
# ۵. باکس جستجوی بهینه شده
|
||||
search_fields = ['id', 'desc', 'product__product_name', 'requester__username']
|
||||
|
||||
# ۶. غیرقابل ادیت کردن فیلدهای حساس مالی در پنل ادمین (اختیاری اما برای Enterprise الزامی است)
|
||||
readonly_fields = ['created_at', 'updated_at']
|
||||
Reference in new issue
Block a user