Developer 2025 🎇限时优惠进行中,现在购买立即享受

现在购买

通过delete_queryset 返回true,自定义删除逻辑,还是依旧提示删除成功,需要重新刷新才能看到最新的通知

avatarfwb8
8月11日37次阅读

iShot_2025-08-03_20.11.29.jpg

def delete_queryset(self, request, queryset):
    # 先过滤出允许删除的数据
    allowed = queryset.exclude(audit_status='approved')
    blocked = queryset.filter(audit_status='approved')
    
    # 执行删除并获取删除数量
    deleted_count, _ = allowed.delete()  # 返回(删除数量, 各模型删除数量)
            # 自定义消息推送
    if deleted_count:
        messages.success(request, f"✅ 成功删除 {deleted_count} 条数据")
    if blocked.exists():
        messages.warning(request, f"⚠️ {blocked.count()} 条已审核数据被保留")
    # 返回True阻止默认消息
    # 4. 完全阻止默认消息的核心方案
    return True

返回了true走自定义删除逻辑,为什么还要提示删除成功呢?重新刷新页面才有最新的通知。

发布评论
登录后发表内容
1个评论