【发布时间】:2023-03-10 05:32:01
【问题描述】:
我有一个关于良好数据库设计实践的问题,我想请你们指点一下。该项目一开始很简单。
嘿,对于每个项目,我们都有一堆问题想要回答(没问题)
变成了……
嘿,我们有这么多问题,我们可以将它们分成几个部分(是的,我们可以这样做)
哪个导致..
我们可以权衡这些问题吗?我真的不想为我的项目提出这些问题(是的,但我们越来越难了)
然后我想他们会希望每个部分都有自己的重量..
要求
所以有要求 - 对于 n 个项目
- 允许管理员成员为项目选择问题
- 允许管理员重新称重或使用问题的默认权重
- 允许管理员重新加权部分
- 让团队成员回答问题。
所以这就是我想出的。 请随时发表评论并提供更好的示例
models.py
from django.db import models
from django.contrib.sites.models import Site
from django.conf import settings
class Section(models.Model):
"""
This describes the various sections for a checklist:
"""
name = models.CharField(max_length=64)
description = models.TextField()
class Question(models.Model):
"""
This simply provides a simple way to list out the questions.
"""
question = models.CharField(max_length=255)
answer_type = models.CharField(max_length=16)
description = models.TextField()
section = models.ForeignKey(Section)
class ProjectQuestion(models.Model):
"""
These are the questions relevant to the project
"""
question = models.ForeignKey(Question)
answer = models.CharField(max_length=255)
required = models.BooleanField(default=True)
weight = models.FloatField(default = XXX)
class Project(models.Model):
"""
Here is where we want to gather our questions
"""
questions = models.ManyToManyField(ProjectQuestion)
即刻提问:
- 当我开始一个项目时 - 任何想法 关于如何“预填充” 问题(最终 权重)为项目?这不是如何 加载问题。为此,我们有 json。我想 知道如何将模板问题“复制”到 项目?
- 有没有 普遍接受的做事方法 我缺少的这个过程? 基本上你所指的想法 这些问题超越了你自己 默认重量,并存储 回答?
- 看起来不错的夹头 的工作将在 意见和大量的检查 需要在那里发生吗?就是它 好吗?
再次 - 随时给我更好的策略!
谢谢
【问题讨论】:
标签: database django data-structures django-models