我正在尝试检查课程是否已完成(通过检查该页面是否已在登录帐户上访问过一次)。我一直在尝试检查该页面是否已被访问。如果没有,则应在访问页面数组中添加该 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 的需要。)
添加回答
举报
0/150
提交
取消