From 8b78deeb5a0c7ddaf8c718a7c870ec5df1a350ff Mon Sep 17 00:00:00 2001 From: jeremygan2021 Date: Tue, 24 Feb 2026 18:10:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/shop/admin.py | 4 ++++ backend/shop/models.py | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/backend/shop/admin.py b/backend/shop/admin.py index 945ad88..0f9407e 100644 --- a/backend/shop/admin.py +++ b/backend/shop/admin.py @@ -60,6 +60,10 @@ class OrderableAdminMixin: return redirect(request.META.get('HTTP_REFERER', '..')) def order_actions(self, obj): + # 只有专家用户才显示排序按钮 + if not getattr(obj, 'is_star', True): # 默认为True是为了兼容其他模型,WeChatUser有is_star字段 + return "默认排序" + # 使用 inline style 实现基本样式,hover 效果如果不能用 CSS 文件,就只能妥协或者用 onmouseover btn_style = ( "display: inline-flex; align-items: center; justify-content: center; " diff --git a/backend/shop/models.py b/backend/shop/models.py index 920fca7..084abeb 100644 --- a/backend/shop/models.py +++ b/backend/shop/models.py @@ -30,6 +30,13 @@ class WeChatUser(models.Model): created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间") updated_at = models.DateTimeField(auto_now=True, verbose_name="更新时间") + def save(self, *args, **kwargs): + is_new = self.pk is None + super().save(*args, **kwargs) + if is_new and self.order == 0: + WeChatUser.objects.filter(pk=self.pk).update(order=self.pk) + self.order = self.pk + def __str__(self): return self.nickname or self.openid