From 549abd5305175e1c7a43d617a84c2604271e137e Mon Sep 17 00:00:00 2001 From: Ross Date: Sun, 28 Feb 2021 16:28:15 +0000 Subject: [PATCH] . --- generic/views.py | 14 +++++++------- longs/migrations/0030_long_recreate_json.py | 18 ++++++++++++++++++ longs/models.py | 4 ++++ 3 files changed, 29 insertions(+), 7 deletions(-) create mode 100644 longs/migrations/0030_long_recreate_json.py diff --git a/generic/views.py b/generic/views.py index f4f49001..87a1e9c4 100644 --- a/generic/views.py +++ b/generic/views.py @@ -374,14 +374,14 @@ class ExamViews(View, LoginRequiredMixin): if not exam.active: raise Http404("No available exam") - exam_json_cache = cache.get("{}_exam_json_{}_{}".format(self.app_name, pk, sk)) + question_json_cache = cache.get("{}_question_json_{}".format(self.app_name, sk)) - if exam_json_cache is not None and not exam.recreate_json: - exam_json_cache["cached"] = True - return JsonResponse(exam_json_cache) + if question_json_cache is not None and not exam.recreate_json: + question_json_cache["cached"] = True + return JsonResponse(question_json_cache) - exam_json = exam.get_exam_question_json(sk) + question_json = exam.get_exam_question_json(sk) - cache.set("{}_exam_json_{}_{}".format(self.app_name, pk, sk), exam_json, 3600) + cache.set("{}_question_json_{}".format(self.app_name, sk), question_json, 3600) - return JsonResponse(exam_json) \ No newline at end of file + return JsonResponse(question_json) \ No newline at end of file diff --git a/longs/migrations/0030_long_recreate_json.py b/longs/migrations/0030_long_recreate_json.py new file mode 100644 index 00000000..7c150520 --- /dev/null +++ b/longs/migrations/0030_long_recreate_json.py @@ -0,0 +1,18 @@ +# Generated by Django 3.1.3 on 2021-02-28 16:28 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('longs', '0029_auto_20210225_1819'), + ] + + operations = [ + migrations.AddField( + model_name='long', + name='recreate_json', + field=models.BooleanField(default=False, help_text='If the json cache needs updating'), + ), + ] diff --git a/longs/models.py b/longs/models.py index fedb265f..2db4aba7 100644 --- a/longs/models.py +++ b/longs/models.py @@ -114,6 +114,10 @@ class Long(models.Model): help_text="If a question should be freely available to browse", default=True ) + recreate_json = models.BooleanField( + help_text="If the json cache needs updating", default=False + ) + def get_absolute_url(self): return reverse("longs:long_detail", kwargs={"pk": self.pk})