gpt4 book ai didi

javascript - Django 模型每天检索特定记录

转载 作者:太空宇宙 更新时间:2023-11-03 21:22:55 27 4
gpt4 key购买 nike

我有一个 Django 应用程序,它将在从特定时间(例如每天 11:00)开始的 24 小时窗口内检索并向该应用程序的所有用户显示 3 条记录(问题)。最好,我想随机化记录列表或仅使用自动增量的问题 ID。有超过 14,000 条记录。

我可以从数据库中检索记录并随机显示这些记录。然而,每个http get请求(刷新浏览器窗口)都会检索到不同的问题模型.py


from django.db import models
from django.contrib.auth.models import User
from django.conf import settings

class Questions(models.Model):
question = models.CharField(max_length=254, blank=True, null=True)
answer = models.CharField(max_length=254, blank=True, null=True)
question_used = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
modified_at = models.DateTimeField(auto_now_add=True)

Views.py

from django.shortcuts import render
from django.views.generic import CreateView, View
from .models import *
from wallet.models import UserWallet

class DailyDrawView(View):
template_name = 'daily_draw/daily_draw.html'

def get(self, request, *args, **kwargs):
que_attempt = DailyDraw.objects.filter(user=request.user, is_active=True).last()
question_objs = Questions.objects.all().order_by('?')[:3]
points = WinnerPoint.objects.last().amount
return render(request, self.template_name {'question_objs':question_objs, 'que_attempt':que_attempt, 'points':points })

每天在特定时间检索 3 条记录。在 24 小时内向所有用户显示这些记录。更新这 3 行,以便不再显示相同的记录。冲洗并重复。

最佳答案

所以我的解决方案是创建一个单独的表来存储问题 ID 和日期。然后将提出请求的时间与应生成新问题的恒定时间进行比较。如果时间超过 24 小时,我会使用新的一行问题 ID 和当前日期更新引用表。

如果有人需要,我可以发布更全面的答案。

关于javascript - Django 模型每天检索特定记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54101314/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com