Нарисовал иллюстрацию к проблеме для просмотра кликните сюда
Делаю опросник,
Циклом прохожу по таблице с вопросами (Metrix), ищу способ как сохранять и возвращать значения ответов value = ” (Metrix_user) на той же странице для редактирования пользователем в режиме онлайн. (в дальнейшем планирую использовать pagination с кнопками назад далее)
My models:
from django.db import models from django.conf import settings class Metrix(models.Model): title = models.CharField(max_length=256, verbose_name='Question') metrix_category = models.ForeignKey( 'category', related_name='Question_category', on_delete=models.CASCADE, verbose_name='Category', ) is_published = models.BooleanField(default=False) def __str__(self): return self.title class Category(models.Model): title = models.CharField(max_length=256, verbose_name='Question_category') is_published = models.BooleanField(default=False) def __str__(self): return self.title class User_metrix(models.Model): user = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="user_metrix", verbose_name='User') metrix = models.ForeignKey('Metrix', on_delete=models.CASCADE, verbose_name='Question') value = models.DecimalField(max_digits=12, decimal_places=2, verbose_name='Value')
My view:
from django.shortcuts import render from django.contrib.auth.decorators import login_required from metrix.models import Metrix, User_metrix @login_required def metrix_view(request, pk=None): metrix_category = { 'pk': 4 } #Get questions by category metrix_list = Metrix.objects.filter(is_published=True, metrix_category__pk=pk) context = { 'metrix_list': metrix_list } return render(request, 'metrix/metrix.html', context)
Template: Получаю вопросы в цикле “metrix_list” из таблицы Metrix Ищу способ сохранять значение value и возвращать его пользователю (данное значение должно храниться в таблице Metrix_user)
<!--cycle for metrix--> {% for item in metrix_list %} <div class="row metrix_quiestion_line justify-content-center"> <div class="metrix_quiestion"> <h2> {{ item }} </h2> </div> <div class="metrix_value"> <input type="number" name="{{ item.id }}" value=" "> </div> </div> {% endfor %} <!--END cycle -->