我正在开发类似应用的GoogleSurvey表单,我需要让前端用户构建调查。我需要很少的准则才能开始。我需要的是构建一个可以生成Django-admin等形式的视图,然后可以在站点使用相同的表单从其他最终用户那里收集数据。
请告知。
答案 0 :(得分:1)
这是一个广泛的问题,但我会尝试尽可能多地涵盖细节。 表单生成器类将包含问题,form_id将负责获取表单的所有问题。因此,如果您想获得id = 1的表单的所有问题,那么您可以轻松过滤。另一种方法是创建一个表,只是为了保持仅包含表单id和创建者和表单构建器的表单的跟踪将只包含问题。
存储在数据库中:
class FormBuilder(models.Model):
form_creator = models.ForeignKey(User)
form_id = models.AutoIncrementField()
question_text = models.TextField()
option_types = models.CharField(max_length=30) # drop down or text fields or some other
options = models.TextField(null=True) # this can be null for text field like answers and for multiple options it can be stored as comma seperated field
created_at = models.DateTimeField()
如何存储回复:
class FormResponses(models.Model):
form_id = models.ForeignKey(FormBuilder)
responses = models.TextField(null=True) # this follows the same analogies as options in FormBuilder
created_at = models.DateTimeField()
查看:
要记住观点的一些事情:
示例:
示例问题看起来像这样。
Q值。怎么回事? #question text
答。在表单构建器模型中,#option_type = text和options = null非常棒
如果这是一个基于选择的问题那么
option_type=choices
和options=good, excellent, better
逗号将列表分隔为字符串。
在答案模型中,响应是一个文本字段,因此可以将答案放入其中。
这就像一个伪代码,所以你可能会遇到语法错误,但这会给你一个要点。如果您不从头开始计划解决方案,This可能会有所帮助。