This commit is contained in:
@@ -400,7 +400,7 @@ class CommissionLogAdmin(ModelAdmin):
|
|||||||
@admin.register(Order)
|
@admin.register(Order)
|
||||||
class OrderAdmin(ModelAdmin):
|
class OrderAdmin(ModelAdmin):
|
||||||
list_display = ('id', 'customer_name', 'get_item_name', 'total_price', 'status', 'salesperson', 'distributor', 'created_at')
|
list_display = ('id', 'customer_name', 'get_item_name', 'total_price', 'status', 'salesperson', 'distributor', 'created_at')
|
||||||
list_filter = ('status', 'salesperson', 'distributor', 'created_at')
|
list_filter = ('status', ProductTypeFilter, 'config', 'course', 'activity', PriceRangeFilter, 'salesperson', 'distributor', 'created_at')
|
||||||
search_fields = ('id', 'customer_name', 'phone_number', 'wechat_trade_no')
|
search_fields = ('id', 'customer_name', 'phone_number', 'wechat_trade_no')
|
||||||
readonly_fields = ('total_price', 'created_at', 'wechat_trade_no')
|
readonly_fields = ('total_price', 'created_at', 'wechat_trade_no')
|
||||||
actions = [export_to_csv, export_to_excel]
|
actions = [export_to_csv, export_to_excel]
|
||||||
@@ -466,6 +466,54 @@ class UserSourceFilter(admin.SimpleListFilter):
|
|||||||
return queryset.filter(user__isnull=False)
|
return queryset.filter(user__isnull=False)
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
class PriceRangeFilter(admin.SimpleListFilter):
|
||||||
|
title = '价格区间'
|
||||||
|
parameter_name = 'price_range'
|
||||||
|
|
||||||
|
def lookups(self, request, model_admin):
|
||||||
|
return (
|
||||||
|
('0-50', '¥0 - ¥50'),
|
||||||
|
('50-100', '¥50 - ¥100'),
|
||||||
|
('100-500', '¥100 - ¥500'),
|
||||||
|
('500-1000', '¥500 - ¥1000'),
|
||||||
|
('1000+', '¥1000以上'),
|
||||||
|
)
|
||||||
|
|
||||||
|
def queryset(self, request, queryset):
|
||||||
|
value = self.value()
|
||||||
|
if value == '0-50':
|
||||||
|
return queryset.filter(total_price__gte=0, total_price__lte=50)
|
||||||
|
elif value == '50-100':
|
||||||
|
return queryset.filter(total_price__gt=50, total_price__lte=100)
|
||||||
|
elif value == '100-500':
|
||||||
|
return queryset.filter(total_price__gt=100, total_price__lte=500)
|
||||||
|
elif value == '500-1000':
|
||||||
|
return queryset.filter(total_price__gt=500, total_price__lte=1000)
|
||||||
|
elif value == '1000+':
|
||||||
|
return queryset.filter(total_price__gt=1000)
|
||||||
|
return queryset
|
||||||
|
|
||||||
|
class ProductTypeFilter(admin.SimpleListFilter):
|
||||||
|
title = '商品类型'
|
||||||
|
parameter_name = 'product_type'
|
||||||
|
|
||||||
|
def lookups(self, request, model_admin):
|
||||||
|
return (
|
||||||
|
('hardware', '硬件产品'),
|
||||||
|
('course', '课程'),
|
||||||
|
('activity', '活动'),
|
||||||
|
)
|
||||||
|
|
||||||
|
def queryset(self, request, queryset):
|
||||||
|
value = self.value()
|
||||||
|
if value == 'hardware':
|
||||||
|
return queryset.filter(config__isnull=False)
|
||||||
|
elif value == 'course':
|
||||||
|
return queryset.filter(course__isnull=False)
|
||||||
|
elif value == 'activity':
|
||||||
|
return queryset.filter(activity__isnull=False)
|
||||||
|
return queryset
|
||||||
|
|
||||||
@admin.register(WeChatUser)
|
@admin.register(WeChatUser)
|
||||||
class WeChatUserAdmin(OrderableAdminMixin, ModelAdmin):
|
class WeChatUserAdmin(OrderableAdminMixin, ModelAdmin):
|
||||||
list_display = ('nickname', 'phone_number', 'is_star', 'title', 'avatar_display', 'gender_display', 'province', 'city', 'created_at', 'order_actions')
|
list_display = ('nickname', 'phone_number', 'is_star', 'title', 'avatar_display', 'gender_display', 'province', 'city', 'created_at', 'order_actions')
|
||||||
|
|||||||
Reference in New Issue
Block a user