Как получить доступ к полю модели, которое сидит в 2 ForeignKey соединениях с моделью, откуда осуществляется доступ к нему?
Вопрос может показаться запутанным, но вот что я хочу сделать. Итак, я каким-то образом хочу получить доступ к имени курса из модели урока, чтобы создать путь к файлу для сохранения видео
class Course(models.Model):
name = models.CharField(max_length=80)
...
class Section(models.Model):
name = models.CharField(max_length=80)
course = models.ForeignKey(Course, on_delete=models.CASCADE, related_name='sections')
...
class Lesson(models.Model):
name = models.CharField(max_length=80)
section = models.ForeignKey(Section, on_delete=models.CASCADE)
video = models.FileField(upload_to=f'courses/{section.course.name}/{section.name}/')
Интерпретатор не жалуется, когда я хочу получить доступ к имени раздела через это: section.name
. Но когда я пробую тот же подход и пытаюсь получить доступ к имени курса
section.course.name
я получаю эту ошибку:
video = models.FileField(upload_to=f'courses/{section.course.name}/{section.name}/')
AttributeError: 'ForeignKey' object has no attribute 'course'
Как лучше всего получить доступ к полю name модели курса? Заранее спасибо!!!
Попробуйте сделать следующее:
x = Lesson.objects.get(pk=1)
print('SECTION_NAME', x.section)
print('COURSE_NAME', x.section.course)