Застрял в структуре модели БД приложений в Django. (Приложение для проверки безопасности труда)

0

Вопрос

Я хочу создать приложение, которое больше похоже на приложение с контрольным списком, в котором будет несколько вопросов (например, опросы), как показано ниже, но более одного.

в ответ будет 3 варианта ответа: Да, Нет и НЕТ.

например, для

  • В. 1. Оснащен ли персонал BA защитным оборудованием?

  • Ответ. i.) Да , ii.) Нет , iii) Н/Д

  • В. 2. Погода в хорошем состоянии, чтобы подняться на работу?

  • Ответ. i.) Да , ii.) Нет , iii.) Н/Д

Таким образом, будет контрольный список примерно с 7-8 похожими вопросами.

и для каждого вошедшего в систему пользователя будет сохранен отдельный экземпляр для полного контрольного списка.

Мое решение (не масштабируемое):

Чтобы создать такую модель, как.

контрольный список занятий:

qus1 = model.CharField(...choices = yesnochoices)

qus2 = model.CharField(...choices = yesnochoices)

и так далее. но это будет не так профессионально и масштабируемо.

Не могли бы вы, пожалуйста, подсказать, как мне это сделать. кроме подхода, описанного выше?

database django model python
2021-11-22 19:52:42
1

Лучший ответ

0

Если я правильно понимаю вашу проблему, вы можете сделать что-то вроде этого:
у вас может быть модель вопроса. а затем модель ответов, которая соединяет пользователей с вопросами.
что было бы примерно так:

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)

Я думаю, что что-то подобное вполне масштабируемо и решит вашу проблему.

2021-11-22 20:03:35

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................