卡在 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 模型结构中。 (工作安全清单应用程序)的主要内容,如果未能解决你的问题,请参考以下文章

python django提示找不到模型app

Django的元选项

Django框架——模型(数据库操作)

Django:无法访问模型属性

Django +2 ImportError:无法导入模型

如何将我的 Django 项目中的 jupyter-lab 连接到 Django 的模型?