首页 > 解决方案 > 将来自 2 个不同模型的 Django 表单保存到第三个模型中

问题描述

我是 Django 新手,需要 Django Forms 方面的帮助。我正在构建一个类似应用程序的民意调查来学习,但我希望民意调查问题来自一个模型,而答案选择来自另一个模型。但是,我在使用表单将该数据返回到基于类的视图时遇到问题。

class RiderModel(models.Model):
    full_name = models.CharField(max_length=500)
    number = models.IntegerField()

    def __str__(self):
        return self.full_name

class QuestionModel(models.Model):
    category = models.ForeignKey(CategoryModel, on_delete=models.CASCADE, default=1)
    question_text = models.TextField()

    def __str__(self):
        return self.question_text



class UserVoteModel(models.Model):
    user = models.OneToOneField(get_user_model(), on_delete=models.CASCADE)
    event = models.ForeignKey(GameModel, on_delete=models.CASCADE)
    question = models.ForeignKey(QuestionModel, on_delete=models.CASCADE)
    answer = models.ForeignKey(RiderModel, on_delete=models.CASCADE)

在 CBV 中,我有这个函数可以将数据获取到模板,但不确定如何将这些数据返回到 UserVoteModel

    def get_queryset(self):
    event = self.kwargs['short_name']
    category = GameModel.objects.filter(short_name__iexact=event)[0].question_category

    return {'questions': QuestionModel.objects.filter(category=category), 'riders': RiderModel.objects.all()}

预先感谢您的帮助。

标签: djangodjango-forms

解决方案


推荐阅读