Uvízl v App DB model struktury v Django. (Job safety checklist App)

0

Otázka

Chci vytvořit Aplikaci, která je více jako kontrolní seznam aplikaci, která bude mít více otázek (jako průzkumy veřejného mínění) jako níže, ale víc než jeden.

v reakci na to tam budou 3 možnosti Ano, Ne, a NA.

pro např.

  • Q. 1. Je BA personál vybaven Ochranné zařízení?

  • Ans. i.) Ano , ii.) Ne , iii) N/A

  • Q. 2. Počasí je v dobrém stavu lézt do Práce?

  • Ans. i.) Ano , ii.) Ne , iii.) N/A

Takhle tam bude seznam s asi 7-8 podobné otázky.

a pro každého přihlášeného uživatele na samostatné instance pro kompletní seznam bude uložen.

Moje řešení (není škálovatelné):

Vytvořit model líbí.

třída Kontrolní seznam:

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

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

a tak dále. ale nebude to dobrý jako profesionální a mnohem škálovatelné.

Mohl byste, prosím, naznačují, jak by jsem to udělala já. jiné než přístup jako výše?

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

Nejlepší odpověď

0

Pokud jsem pochopil tvůj problém správně, můžete udělat něco jako toto:
můžete mít Otázku model. a pak Odpověď model, který spojuje uživatele na otázky.
což by bylo něco jako toto:

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)

Myslím, že něco takového je zcela škálovatelné a vyřeší váš problém.

2021-11-22 20:03:35

V jiných jazycích

Tato stránka je v jiných jazycích

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