PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

model aplikasi kuis django untuk pertanyaan pilihan ganda

Untuk skema basis data relasional yang dinormalisasi dengan benar, Anda menginginkan Choice yang berbeda model dengan kunci asing di Question :

class Question(models.Model):
    question = models.CharField(...)

class Choice(models.Model):
    question = models.ForeignKey("Question", related_name="choices")
    choice = modelsCharField("Choice", max_length=50)
    position = models.IntegerField("position")

    class Meta:
        unique_together = [
            # no duplicated choice per question
            ("question", "choice"), 
            # no duplicated position per question 
            ("question", "position") 
        ]
        ordering = ("position",)

Dan kemudian Anda bisa mendapatkan Question pilihan dengan myquestion.choices.all() (dan dapatkan pertanyaan dari Choice dengan mychoice.question ).

Perhatikan bahwa ini tidak akan memaksakan batasan apa pun pada jumlah pilihan untuk Pertanyaan, bahkan tidak mengamanatkan bahwa Pertanyaan memiliki setidaknya satu Pilihan terkait.

Kecuali Anda memiliki alasan yang sangat kuat untuk melakukan sebaliknya, skema yang dinormalisasi dengan benar adalah apa yang Anda inginkan saat menggunakan database relasional (rdbms lebih dari sekadar bitbucket, mereka menawarkan banyak fitur yang berguna - selama Anda memiliki skema yang tepat, yaitu).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengelola Commitfest PostgreSQL

  2. Bagaimana cara membuat perintah salin terus berjalan di pergeseran merah bahkan setelah fungsi lambda yang memulainya telah habis?

  3. postgres:buat tabel di database dari baris perintah

  4. Dapatkan n kategori yang dikelompokkan dan jumlahkan yang lain menjadi satu

  5. Bagaimana cara menggunakan fungsi SEKARANG () sebagai batas atas suatu rentang?