Django:在不重新加载页面的情况下更新sqlite中的行数据
我正在显示数据库中的随机图像。显示图像后,在显示图像时,其计数应设置为1,以便不再使用。 我曾尝试编写一个视图函数,该函数尝试在选择图像显示时更改计数。没有涉及更新表单或按钮单击 视图.pyDjango:在不重新加载页面的情况下更新sqlite中的行数据,django,sqlite,Django,Sqlite,我正在显示数据库中的随机图像。显示图像后,在显示图像时,其计数应设置为1,以便不再使用。 我曾尝试编写一个视图函数,该函数尝试在选择图像显示时更改计数。没有涉及更新表单或按钮单击 视图.py from django.shortcuts import render from django.conf import settings from .models import Image import random # Create your views here. def index(request):
from django.shortcuts import render
from django.conf import settings
from .models import Image
import random
# Create your views here.
def index(request):
y= random.randint(0,10)
p = Image.objects.all()[y]
if (p.p_image_count==0):
p_img = Image.objects.all()[y]
Image.objects.all()[y].p_image_count += 1
# Image.save(self)
lst = [p.s_image1, p.s_image2, p.s_image3, p.s_image3, p.s_image4, p.s_image5]
x = random.randint(0,4)
tmp =[]
for i in range(0,3):
p = Image.objects.all()[random.randint(0,14)]
tmps=[p.s_image1, p.s_image2, p.s_image3, p.s_image3, p.s_image4, p.s_image5]
tmp.append(tmps[random.randint(0,4)])
s_img = [lst[x]]+ tmp
random.shuffle(s_img)
return render(request,'index.html',{"p_img":p_img, "s_img": s_img, 'media_url':settings.MEDIA_URL})```
模型.py-图像模型
class Image(models.Model):
p_image = models.ImageField(max_length=255,upload_to='p_image',default='NULL', blank='NULL')
p_image_count = models.IntegerField(default=0)
s_image1 = models.ImageField(max_length=255,upload_to='s_image')
s_image1_flag = models.BooleanField(default=False)
s_image2 = models.ImageField(max_length=255,upload_to='s_image',default='NULL', blank='NULL')
s_image2_flag = models.BooleanField(default=False)
s_image3 = models.ImageField(max_length=255,upload_to='s_image',default='NULL', blank='NULL')
s_image3_flag = models.BooleanField(default=False)
s_image4 = models.ImageField(max_length=255,upload_to='s_image',default='NULL', blank='NULL')
s_image4_flag = models.BooleanField(default=False)
s_image5 = models.ImageField(max_length=255,upload_to='s_image',default='NULL', blank='NULL')
s_image5_flag = models.BooleanField(default=False)
#if image displayed currently , set flag to true
在我学会正确使用.save()后,问题得到了解决。实际上,我正在使用image.save()更新p_image_计数 正确的做法是-
Image.objects.all()[y].save()
.save()需要更新的行对象
谢谢你抽出时间!:) 如果p_image_count==0,则将显示其余五个图像。你为什么用旗子。你一次会展示多少张图片?@sandeep我想做一个游戏,让我们在图片上匹配人们给出的答案。因此,如果一个标志被设置为true,这意味着该图像的答案存在,并且应该给下一个玩家该图像,以便他/她的答案可以在他们提交他们的答案后匹配。