[英]How to have a Django relational database with four tables?
我正在使用 Django 創建一個網站,但數據庫有問題! 我有四個表(主題、問題、答案和圖像)。 這些表中的每一個都有一個 id 列,我想將這四個表連接在一起。
我曾嘗試使用ForeignKey()
但沒有成功。 我收到一條錯誤消息。 我不知道在這種情況下我是否可以使用ManyToManyField()
,因為它只是我試圖連接的一列。
這是代碼:
from django.db import models
# Create your models here.
class topics(models.Model):
topic_id = models.AutoField(primary_key=True)
topic_level = models.BooleanField()
topic_name = models.TextField()
class questions(models.Model):
question_id = models.AutoField(primary_key=True)
description = models.TextField()
questions_type = models.BooleanField()
class answers(models.Model):
answer_id = models.AutoField(primary_key=True)
description = models.TextField()
class images (models.Model):
image_id = models.AutoField(primary_key=True)
image_blob = models.BinaryField()
這是帶有ForeignKey()
的代碼:
from django.db import models
# Create your models here.
class topics(models.Model):
topic_id = models.AutoField(primary_key=True)
topic_level = models.BooleanField()
topic_name = models.TextField()
topic_question = models.ForeignKey(questions, on_delete=CASCADE)
topic_answer = models.ForeignKey(answers, on_delete=CASCADE)
topic_image = models.ForeignKey(images, on_delete=CASCADE)
class questions(models.Model):
question_id = models.AutoField(primary_key=True)
description = models.TextField()
questions_type = models.BooleanField()
question_topic = models.ForeignKey(topics, on_delete=CASCADE)
question_answer = models.ForeignKey(answers, on_delete=CASCADE)
question_image = models.ForeignKey(images, on_delete=CASCADE)
class answers(models.Model):
answer_id = models.AutoField(primary_key=True)
description = models.TextField()
answer_topic = models.ForeignKey(topics, on_delete=CASCADE)
answer_question = models.ForeignKey(questions, on_delete=CASCADE)
answer_image = models.ForeignKey(images, on_delete=CASCADE)
class images (models.Model):
image_id = models.AutoField(primary_key=True)
image_blob = models.BinaryField()
image_topic = models.ForeignKey(topics, on_delete=CASCADE)
image_question = models.ForeignKey(questions, on_delete=CASCADE)
image_answer= models.ForeignKey(answers, on_delete=CASCADE)
這是我收到的錯誤消息:
topic_question = models.ForeignKey(questions, on_delete=CASCADE) NameError: name 'questions' 未定義
在您嘗試使用question
類名稱來指示相關模型時,未定義此類類,如錯誤所述。 當您引用稍后在代碼中定義的模型時,您必須將名稱括在""
:
topic_question = models.ForeignKey("questions", on_delete=CASCADE)
這是相關文檔: https : //docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ForeignKey
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.