Я хочу сохранить выбранную радиокнопку в базе данных? Как я могу сделать это в django?
models.py
from django.db import models
from django.utils.translation import gettext_lazy as _
# Create your models here.
# from django.utils.encoding import smart_unicode
from enum import Enum
from django.contrib.auth.models import AbstractUser
from django import forms
class CommentForm(forms.Form):
name = forms.CharField()
comment = forms.CharField(widget=forms.Textarea)
class Username(AbstractUser):
firstName = models.CharField(max_length=200, null=True)
lastName = models.CharField(max_length=200, null=True)
email = models.EmailField(unique=True, default=None, null=True)
password = models.CharField(max_length=32)
REQUIRED_FEILDS = []
def __str__(self):
return self.username
class Option(models.TextChoices):
OPTION1 = 'OPTION1', _('OPTION1')
OPTION2 = 'OPTION2', _('OPTION2')
OPTION3 = 'OPTION3', _('OPTION3')
OPTION4 = 'OPTION4', _('OPTION4')
class Question(models.Model):
# id = models.AutoField(primary_key=True)
question=models.CharField(max_length=600)
option1=models.CharField(max_length=200, default=None)
option2=models.CharField(max_length=200, default=None)
option3=models.CharField(max_length=200, default=None)
option4=models.CharField(max_length=200, default=None)
difficulty=models.PositiveIntegerField()
exam=models.BooleanField()
key=models.CharField(max_length=100)
correct_answer = models.CharField(max_length=7,choices=Option.choices,default=None,)
def __str__(self):
return str(self.id)
class Answer(models.Model):
username=models.ForeignKey(Username,max_length=200, null=True,on_delete=models.CASCADE)
question_id = models.ForeignKey(Question, on_delete=models.CASCADE)
answer = models.CharField(
max_length=7,
choices=Option.choices,
default=None,
)
surety=models.PositiveIntegerField( null=True)
difficulty=models.PositiveIntegerField( null=True)
def __str__(self):
return self.answer
views.py
try.html
Я приложил необходимые представления, модели и html файлы для справки. Также, На html странице есть радиокнопки внутри формы, где нажатие кнопки Submit должно сохранить все выбранные радиокнопки в базу данных. Есть ли способ сделать это? Любое решение будет очень полезным.
в файле views.py вы можете использовать:
# If not using required attribute in HTML
seleted_option = request.POST.get('option')
# If using required it is suggested to use
seleted_option = request.POST['option']