卡在 Django 中的 App DB 模型结构中。 (工作安全清单应用程序)
Posted
技术标签:
【中文标题】卡在 Django 中的 App DB 模型结构中。 (工作安全清单应用程序)【英文标题】:Stuck in App DB model structure in Django. (Job safety checklist App) 【发布时间】:2022-01-01 09:35:06 【问题描述】:我想创建一个更像是清单应用程序的应用程序,它将有多个问题(如投票),如下所示,但不止一个。
作为回应,将有 3 个选择,是、否和不适用。
例如
Q.1。 BA 员工是否配备了防护设备?
回答。 i.) 是,ii.) 否,iii) 不适用
问题 2。天气状况良好,可以爬山上班吗?
回答。 i.) 是,ii.) 否,iii.) 不适用
这样会有一个包含大约 7-8 个类似问题的清单。
对于每个登录的用户,将保存一个单独的完整清单实例。
我的解决方案(不可扩展):
创建一个类似的模型。
类清单:
qus1 = model.CharField(...choices = yesnochoices)
qus2 = model.CharField(...choices = yesnochoices)
等等。但这不会像专业和可扩展性那样好。
能否请您建议我应该如何制作这个。除了上面的方法吗?
【问题讨论】:
制作一个额外的模型ChecklistQuestion
引用Checklist
,从而产生多对一的关系。
【参考方案1】:
如果我正确理解您的问题,您可以这样做: 你可以有一个问题模型。然后是一个将用户与问题联系起来的 Answer 模型。 这将是这样的:
class Question(models.Model):
text = models.CharField()
class Answer(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
question = models.ForeignKey(Question, on_delete=models.CASCADE)
answer = models.CharField(choices=yesnochoices)
我认为这样的东西具有很强的可扩展性,可以解决您的问题。
【讨论】:
以上是关于卡在 Django 中的 App DB 模型结构中。 (工作安全清单应用程序)的主要内容,如果未能解决你的问题,请参考以下文章