Как я могу использовать Create View и можно ли избежать зависимого выпадающего списка? - PullRequest
0 голосов
/ 30 января 2019

Я давно работаю над этим проектом и с нуля изучаю все, кроме HTML и CSS.Тем не менее, я застрял в разных случаях и получил большую помощь здесь.На этот раз я хотел бы знать, какие запросы мне нужно использовать, чтобы получить нужные мне результаты.

Цель состоит в том, чтобы просмотреть мой результат, используя CreateView в другом шаблоне, используя формы, которыеЯ имею.У меня есть два ModelForm, и оба они ModelChoiceField, за исключением того, что первый ModelMultipleChoiceField

У меня есть мой forms.py здесь, и я не уверен, определил ли я свою save функциюправильно.

from django import forms
from betterforms.multiform import MultiModelForm
from .models import Topic, Image, Question, Answer

class TopicForm(forms.ModelForm):
    topic_name  =   forms.ModelMultipleChoiceField(
                    queryset    =   Topic.objects.all(),
                    widget      =   forms.SelectMultiple(
                    attrs       =   {'class': ''}
                    ))
    class Meta:
        model   =   Topic
        fields  =   ['topic_name',]

class QuestionForm(forms.ModelForm):
    topic_name  =   forms.ModelChoiceField(
                    queryset    =   Topic.objects.all(),
                    widget      =   forms.Select(
                    attrs       =   {'class': ''}
                    ))
    class Meta:
        model   =   Question
        fields  =   ['questions_type',]
class QuizMultiForm(MultiModelForm):
    form_classes    =   {
                'topics'    :   TopicForm,
                'questions' :   QuestionForm
    }
    def save(self, commit=True):
        objects = super(QuizMultiForm, self).save(commit=False)

        if commit:
            topics = objects['topics']
            topics.save()
            questions = objects['quesitons']
            questions.topics = objects['questions']
        return objects

Это мой views.py Я не определил ни одного get_queryset, потому что я не понимаю, как это работает, вероятно.Я знаю, что я должен написать что-то вроде.Topic.objects.all() и Question.filter(question_topic = F(Topic.pk))

from django.shortcuts import render, render_to_response
from django.http import HttpResponse, HttpResponseRedirect
from django.views.generic import *
from django.views.generic.edit import *
from home.models import Topic, Image, Question, Answer
from home.forms import QuizMultiForm

class QuizView(CreateView):
    form_classes    =   QuizMultiForm
    template_name   =   'index.html'
    success_url     =   '/thanks/'
    def get_queryset(arg):
        Topic.objects

Спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...