Foreignkey получить аватар

Я изучаю, как создать систему управления обучением, и у меня возникли проблемы при попытке прикрепить аватар пользователя к любому размещенному комментарию, который он делает. Любое направление/помощь были бы очень признательны.

У меня есть модель Profile и модель Comment, и я добавил Foreignkey к модели Profile в модель Comment. Как я могу получить аватар пользователя из модели профиля и отобразить его в поле комментариев в HTML?

Вот мои модели:

class Comment(models.Model):
    course = models.ForeignKey(Course, related_name='comments', on_delete=models.CASCADE)
    user_avatar = models.ForeignKey(Profile, null=True, related_name="comments", on_delete=models.CASCADE)
    lesson = models.ForeignKey(Lesson, related_name='comments', on_delete=models.CASCADE)
    name = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
    created_by = models.ForeignKey(User, related_name='comments', on_delete=models.CASCADE)

class Profile(models.Model):
    user = models.OneToOneField(User, primary_key=True, on_delete=models.CASCADE)
    name = models.CharField(max_length=100, blank=True, null=True)
    occupation = models.CharField(max_length=100, blank=True, null=True)
    residence = models.CharField(max_length=100, blank=True, null=True)
    active_id = models.BooleanField(default=True)
    avatar = models.ImageField(null=True, blank=True, upload_to ='uploads/profile_pics/',default='uploads/default.jpg')

и мой views.py:

@api_view(['POST'])
def add_comment(request, course_slug, lesson_slug, pk):
    data = request.data
    name = data.get('name')
    content = data.get('content')

    course = Course.objects.get(slug=course_slug)
    lesson = Lesson.objects.get(slug=lesson_slug)
    profile = Profile.objects.get(id=pk)

    comment = Comment.objects.create(course=course, lesson=lesson, name=name, content=content, user_avatar=request.profile, created_by=request.user)

    serializer = CommentsSerializer(comment)

    return Response(serializer.data)

serializers.py:

class CommentsSerializer(serializers.ModelSerializer):
    class Meta:
        model = Comment
        fields = ('id', 'name', 'content', 'created_at', 'user_avatar', 'created_by')
Вернуться на верх