You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django用户提问获积分功能异常:points字段未增长

问题原因及解决方案

核心问题

你在form_valid方法里只执行了form.instance.author.points + 15的计算,但既没把计算结果赋值回用户的points字段,也没将用户对象保存到数据库,所以后台里的用户积分不会有变化。

修正后的视图代码

class PostCreateView(LoginRequiredMixin, CreateView):
    model = Post
    success_url = '/'
    fields = ['title', 'content', 'category']

    def form_valid(self, form):
        form.instance.author = self.request.user
        # 更新并保存用户积分
        user = self.request.user
        user.points += 15
        user.save()
        return super().form_valid(form)

额外说明

  • 调用user.save()是关键,它会把更新后的积分持久化到数据库中。
  • 确认你的User模型里确实存在points字段,且是数值类型(比如IntegerField(default=0))。

内容的提问来源于stack exchange,提问作者nameless

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 02:20:28