Я создаю сайт, используя Django, и у меня проблема с базой данных!У меня есть четыре таблицы (темы, вопросы, ответы и изображения).У каждой из этих таблиц есть столбец идентификатора, и я хотел бы соединить эти четыре таблицы.
Я пытался использовать 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: имя 'questions' не определено