【发布时间】:2015-05-03 13:22:27
【问题描述】:
我正在构建一个小型调查应用程序,我需要在一个页面中显示每个答案及其对应的答案,所以我使用 ListView 执行此操作并按 1 分页。
class TriviaView(ListView):
model = Preguntas
paginate_by = 1
template_name = 'trivias.html'
显然每个答案都必须保存在数据库中,但这是我迷路的地方,我不知道如何将用户回复的每个答案保存在数据库中。
模板:
<form action="." method="post">{% csrf_token %}
<p>{% for pregunta in object_list %} {{pregunta.pregunta}}</p>
{% for respuesta in pregunta.respuestas_set.all %}
{% if page_obj.has_next %}
<a href="?page={{page_obj.next_page_number}}"><button type="button">{{respuesta.respuesta}}</button> </a>
{% endif %}
{% endfor %}
{% endfor %}
</form>
型号:
class Trivia(models.Model):
nombre = models.CharField(max_length=100)
slug = models.SlugField(unique=True)
categoria = models.ForeignKey(Categorias)
contador = models.IntegerField()
def __str__(self):
return self.nombre
class Meta():
verbose_name_plural = "Trivias"
class Preguntas(models.Model):
trivia = models.ForeignKey(Trivia)
pregunta = models.CharField(max_length=100)
def __str__(self):
return self.pregunta
class Meta():
verbose_name_plural = "Preguntas"
class Respuestas(models.Model):
pregunta = models.ForeignKey(Preguntas)
respuesta = models.CharField(max_length=100)
def __str__(self):
return self.respuesta
class Meta():
verbose_name_plural = "Respuestas"
class Records(models.Model):
trivia = models.ForeignKey(Trivia)
user = models.CharField(max_length=200)
pregunta = models.CharField(max_length=200)
respuesta = models.CharField(max_length=200)
def __str__(self):
return self.user
如何在记录模型中保存用户选择的每个答案及其对应的答案?
对不起,西班牙的属性,客户这样问。
提前致谢。
【问题讨论】:
-
你应该使用表单向导来完成这种工作,这里是表单向导如何工作的链接:docs.djangoproject.com/en/1.7/ref/contrib/formtools/form-wizard
标签: python django django-forms django-views django-class-based-views