У меня есть вопрос о хороших методах проектирования баз данных, и я хотел бы использовать вас, ребята, для указателей. Проект начался просто.
Привет, у нас есть куча вопросов, на которые мы хотим получить ответы для каждого проекта ( без проблем )
Который превратился в ...
Эй, у нас так много вопросов, мы можем сгруппировать их в разделы ( да, мы можем это сделать )
Который ведет в ..
Можем ли мы взвесить эти вопросы, и я не хочу, чтобы некоторые из этих вопросов были для моего проекта ( Да, но нам становится трудно )
А потом я думаю, что они захотят, чтобы каждый раздел имел свой собственный вес ..
Требования
Итак, есть требования - Для 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. я хочу
чтобы знать, как "скопировать" вопросы шаблона в
проект?
- Есть ли
общепринятый метод выполнения
этот процесс, который мне не хватает?
В основном идея, на которую вы ссылаетесь
вопросы выходят за ваши собственные
вес по умолчанию и сохранить
ответ?
- Похоже, хороший патрон
работы будут выполнены в
просмотров и что много проверок
нужно будет там происходить? В том, что
OK
Опять же - не стесняйтесь давать мне лучшие стратегии !!
Спасибо