bimka
@bimka
Осваиваю Питон

Как в models.py указать у студента ForeignKey?

Студент может быть записан на несколько курсов. Если в классе Student указать атрибут
course = models.ForeignKey(Course, on_delete=models.CASCADE)
, то логично выведет ошибку не определено, т.к. класс Course определен ниже.

Никак не могу понять, как мне реализовать возможность и студенту записаться на несколько курсов, и курсам иметь несколько студентов в качестве слушателей?

models.py
class Student(models.Model):
    first_name = models.CharField(max_length=100)
    second_name = models.CharField(max_length=100)
    email = models.EmailField(max_length=100)

class Course(models.Model):
    title = models.CharField(max_length=300)
    description = models.CharField(max_length=800, blank=True, default='')
    estimation = models.DecimalField(default=0, max_digits=5, decimal_places=1)
    students = models.ForeignKey(Student, on_delete=models.CASCADE')

class Lesson(models.Model):
    title = models.CharField(max_length=300)
    description = models.TextField(blank=True, default=')
    materials = models.FileField(upload_to='materials/', blank=True')
    courses = models.ForeignKey(Course, on_delete=models.CASCADE)
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
@maksam07
course = models.ForeignKey(Course, on_delete=models.CASCADE)
->
course = models.ForeignKey("Course", on_delete=models.CASCADE)


А вообще, тебе нужна связь M2M
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы