AkiroToshiro
@AkiroToshiro

Как вывести данные из базы данных django?

У меня есть создание классы которые связаны между собой
models.py
class Lesson(models.Model):
    name = models.CharField(max_length=30)

    def __str__(self):
        return self.name


class StudentsGroup(models.Model):
    name = models.CharField(max_length=10)
    lessons = models.ManyToManyField(Lesson)

    def __str__(self):
        return self.name


class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    student_group = models.ForeignKey(StudentsGroup, blank=True, null=True, on_delete=models.SET_NULL)

views.py
def lessons(request):
    get_profile = Profile.objects.get(id = request.user.id)
    get_group = StudentsGroup.objects.all()
    get_lessons = Lesson.objects.all()
    context = {
        'get_lesson': get_lessons,
        'get_group': get_group,
        'get_profile': get_profile,
    }
    template = 'core/lessons.html'
    return render(request, template, context)

lessons.html
<p> Lessons: </p> <br>
{{get_profile}}
{{get_profile.student_group.lessons}}

Я хочу вывести список предметов которые привязаны к групе к которой привязан профиль, но выводит что-то непонятное: 5fb543f7beae5679402418.png
Что я не так делаю с выводом?
  • Вопрос задан
  • 2645 просмотров
Решения вопроса 1
@galaxy
А что непонятного?
Profile object (1) - это ваш {{get_profile}} (вы ведь не определили метод __str__() дял модели, выводится по умолчанию).
get_profile.student_group.lessons выведет строковое представление менеджера связанных объектов Lesson. Хотите список, делайте цикл:
{% for lesson in get_profile.student_group.lessons.all %}{{ lesson.name }}<br>{% endfor %}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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