为了账号安全,请及时绑定邮箱和手机立即绑定

ArrayField 没有更新?

ArrayField 没有更新?

四季花海 2022-01-05 20:26:30
我正在尝试检查课程是否已完成(通过检查该页面是否已在登录帐户上访问过一次)。我一直在尝试检查该页面是否已被访问。如果没有,则应在访问页面数组中添加该 ID。我正在检查所有可能的情况(或至少是我能想到的情况),当我必须这样做时,我将另一个 lection.id 添加到访问的课程数组中。每次打印此数组后,我看到添加了课程 ID,但未添加到数据库中。(如果我检查数据库或更改页面,课程 ID 就会消失)视图.pyfrom django.shortcuts import renderfrom django.shortcuts import get_object_or_404from .models import Lectiedef lectii(req):    lectii = Lectie.objects.all().order_by("id")    if req.user.is_authenticated:        if req.user.profile.lectiiRezolvate == None:            lectiiRezolvate=[]        else:            lectiiRezolvate = req.user.profile.lectiiRezolvate    else:        lectiiRezolvate=[]    context = {        'lectii': lectii,        'lectiiRezolvate': lectiiRezolvate    }    print(lectiiRezolvate)    return render(req, '../templates/pagini/lectii-selector.html', context)def lectie(req, lectie_id):    if req.user.is_authenticated:        if req.user.profile.lectiiRezolvate == None:            req.user.profile.lectiiRezolvate.append(lectie_id)            user.profile.save()            print(req.user.profile.lectiiRezolvate)        else:            if lectie_id in req.user.profile.lectiiRezolvate:                pass            else:                req.user.profile.lectiiRezolvate.append(lectie_id)                print(req.user.profile.lectiiRezolvate)    else:        pass            lectie2 = get_object_or_404(Lectie, pk=lectie_id)    lectiePDF = 'lectii/lectia-{}.pdf'.format(lectie2)    context = {        'lectiePDF': lectiePDF,        'lectie2': lectie2,    }    return render(req, '../templates/pagini/lectii.html', context)网址.pyfrom django.urls import pathfrom . import viewsurlpatterns = [    path('', views.lectii, name="lectii"),    path('<int:lectie_id>', views.lectie, name="lectie")]lectii-selector.html我觉得我没有正确地添加到数据库中,我错过了一些东西。我试图通过阅读 django 文档来解决它,但我没有发现任何有用的东西。所以我想个人资料没有更新,我做错了什么。我怎样才能让它工作?
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

如果数组字段以前为空,则仅保存配置文件;附加新 ID 后不保存它。

(另请注意,如果您将 a 添加default=list到字段定义,则可以避免检查 None 的需要。)


查看完整回答
反对 回复 2022-01-05
  • 1 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信