возможность видеть только свой профиль

def profile(request,pk=None):
       

    if pk:
            
        post_owner = get_object_or_404(User, pk=pk)
        user_posts=Post.objects.filter(author_id=pk)
            
    else:
        post_owner = request.author
        user_posts=Post.objects.filter(author_id=pk)
    return render(request, 'profile.html', {'post_owner': post_owner, 'user_posts': user_posts})

функция используется для отображения записей конкретного пользователя в его профиле, как сделать так, чтобы его мог видеть только автор постов. На ум приходит это решение, но как совместить его с той функцией?

def form_valid(self,form):
        form.instance.author=self.request.user
        return super().form_valid(form)

модель:

User=get_user_model()
class Post(models.Model):
    text=models.CharField(max_length=25,verbose_name='введите текст' )
    pub_date=models.DateTimeField('date published',auto_now_add=True)
    author=models.ForeignKey(User, on_delete=models.CASCADE, related_name='posts')

Ответы (1 шт):

Автор решения: Миша

Наверное, обратиться к полю author модели Post, к примеру:

user_posts = Post.objects.filter(author_id=pk)
if  user_posts.author == request.user:
    ...
→ Ссылка