Django - 汇总调查对字符串的回应

时间:2014-11-05 14:59:57

标签: django django-models django-forms

我正在django进行一项调查。我想将调查的答案存储在单个字符串中,而不是一堆个别变量中。我希望使用这种结构,我可以将不同长度的调查存储到一个表中。我不确定你如何循环调查回复并聚合它们并使用django的ORM模型将它们插入到数据库中。我猜你必须使用原始SQL?我可能会对哪些建议或网址表示赞赏。下面是一个更具体的例子。

基本数据库设计

PID = UUID
响应= Char256

调查示例

    <p>1.    Item 1.<p>
    <input type="radio" name="Q1" value="1">Very Inaccurate<br>
    <input type="radio" name="Q1" value="2">Moderately Inaccurate<br>
    <input type="radio" name="Q1" value="3">Neither Accurate or Inaccurate<br>
    <input type="radio" name="Q1" value="4">Moderately Accurate<br>
    <input type="radio" name="Q1" value="5">Very Accruate<br>

    <p>2.    Item 2.<p>
    <input type="radio" name="Q2" value="1">Very Inaccurate<br>
    <input type="radio" name="Q2" value="2">Moderately Inaccurate<br>
    <input type="radio" name="Q2" value="3">Neither Accurate or Inaccurate<br>
    <input type="radio" name="Q2" value="4">Moderately Accurate<br>
    <input type="radio" name="Q2" value="5">Very Accruate<br>

    <p>3.    Item 3.<p>
    <input type="radio" name="Q3" value="1">Very Inaccurate<br>
    <input type="radio" name="Q3" value="2">Moderately Inaccurate<br>
    <input type="radio" name="Q3" value="3">Neither Accurate or Inaccurate<br>
    <input type="radio" name="Q3" value="4">Moderately Accurate<br>
    <input type="radio" name="Q3" value="5">Very Accruate<br>

假设以下回复

Q1:'1' Q2:'2' Q3:'3'

我如何将其作为'123'插入到我的数据库模型中,而不是让模型要求我将'1'输入变量q1,将'2'输入变量q2,将'3'输入变量q3等。

谢谢!

1 个答案:

答案 0 :(得分:1)

让你朝着正确的方向前进。创建一个带有名称和选项字段的问题模型。您的表单将使用ModelForm创建。就这样,Django为你完成了大部分的工作。

另一种方法是使用外部包装。 django-domande似乎是一个很好的调查应用。