Всем привет. Столкнулся с проблемой. Сделал каждому пользователю свой кабинет, дал возможность добавлять свои записи. На личной странице я смог отобразить записи авторизованного пользователя. Но не понимаю, как при переходе на личные страницы других пользователей отобразить их записи(замечу, что личные данные(записанные в другой модели) отображаются у каждого пользователя).
Модель
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
first_name = models.CharField(max_length=30, verbose_name='Имя', default='Новый')
last_name = models.CharField(max_length=30, verbose_name='Фамилия', default='Пользователь')
position = models.CharField(max_length=100, verbose_name='Должность', default='Должность сотрудника')
slug = models.SlugField(verbose_name="URL адрес", unique=True, blank=True, null=True, default='{}')
bio = models.TextField(max_length=500, blank=True, verbose_name='Информация о человеке')
birth_date = models.DateField(null=True, blank=True, verbose_name='Дата рождения')
image = models.ImageField(null=True, blank=True, upload_to="image_profil", verbose_name='Фото профиля', default='default_photo')
#Эти данные получается отображать по ссылке в профиль
def get_absolute_url(self):
return reverse('user_url', kwargs={'slug': self.slug})
class Post(models.Model):
datetime = models.DateTimeField(verbose_name=u"Дата", auto_now_add=True)
author = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name=u"Автор", related_name="posts")
text = models.CharField(max_length=1000, verbose_name=u"Текст", null=True, blank=True)
image = models.FileField(verbose_name=u"Картинка", null=True, blank=True, default='default_photo')
А вот с выводом постов проблема, могу вывести данные только через id пользователя, если заменять номер во вью, а это собственно говоря чушь.
Вью
def user(request, slug):
#Получение данных профиля конкретного пользователя, отображает данные пользователя
get_user = get_object_or_404(Profile, slug__iexact=slug)
#Новости на личной странице пользователя
#А вот здесь уже не выходит задаю id=7 и на любой пользовательской странице
#выдает записи пользователя с id=7 это как бы логично, но мне нужен другой результат
user_post = User.objects.get(id=7)
user_context=Post.objects.filter(author=user_post)
context={
'user_data': get_user,
'user_context':user_context
}
return render(request, 'accounts/profile_user.html',context)
И вообще не могу понять, как отобразить на личной странице пользователя его личные данные.