Django-在数据库中存储数字或文本答案的最佳方式是什么?
我正在做一个学生调查项目。存储问题的模型类似于:Django-在数据库中存储数字或文本答案的最佳方式是什么?,django,django-models,django-database,Django,Django Models,Django Database,我正在做一个学生调查项目。存储问题的模型类似于: ID Question Type 1 is good teacher? Choice 2 What do you like about Open-answer the teacher? 然后在选择类问题中,学生将选择一个选项,例如:完全同意,这将存储一个数字代码,例如5。但在开放式回答问题中,学生将写下文本 答案模型中应该存储这些答案的字段是什么?
ID Question Type
1 is good teacher? Choice
2 What do you like about Open-answer
the teacher?
然后在选择类问题中,学生将选择一个选项,例如:完全同意,这将存储一个数字代码,例如5。但在开放式回答问题中,学生将写下文本
答案模型中应该存储这些答案的字段是什么?可能是文本字段?如果要使用同一列打开文本,请将您的选择作为文本。。。因此,当用户选择选项时,您可以编写一个固定文本,而不是设置1、2、3、4,这样可以使您的数据更易于阅读
ANSWER = (
("Yes", "Yes"),
("No", "No"),
("Neutral", "Neutral"),
)
或者再做两列。。。一个用于设置问题类型或选择文本,另一个用于存储选项,您可以将其设置为外键,而不是使用静态值,这可以从一个模型加载
ID Question Type Answer-Text AnswerID
1 is good teacher? Choice null 1
2 What do you like about Open-answer "The way he swag" null
the teacher?
或者把所有的东西都和绳子混在一起。。。但是您在获取这个整数ID时会遇到一些问题。。。当您尝试获取整数int1时,将抛出一些错误。int1将起作用,但int swag使用文本字段引发错误的方式可能是一个坏主意,因为您将int与字符串类型对象混合使用,这是绝对不推荐的
你可以做的一件事是把这看作两个不同的领域。一个Choicefield和一个TextField。这样,当用户想要使用开放式答案时,可以选择空值空字符串。然后,您可以将空字符串计算为无任何内容。您是否要求django admin的实现?@scharette不,我不是在说admin,我是说,对于Production,这取决于您希望如何使用数据。。。