Django-Как восстановить данные сообщений вошедших в друзья пользователей - PullRequest
0 голосов
/ 30 июня 2018

Я работаю над проектом в социальной сети !! У него есть модели, которые сохраняют данные пользователя, данные друзей и данные сообщений

Users -> User Info
Friends -> User friends
Media -> All Posts from users

Как получить сообщения друзей вошедшего в систему пользователя.

class Friends(models.Model):
    """Model for saving relationship of user and friends"""
    request_id = models.ForeignKey(User,on_delete=models.CASCADE,related_name='current_user')
    friend_id = models.ForeignKey(User,on_delete=models.CASCADE,related_name='user_friend')
    created_on = models.DateTimeField(auto_now_add=True,auto_now=False)

class MediaDB(models.Model):
    """All User Feed Items"""
    username = models.ForeignKey(User,on_delete=models.CASCADE,)
    m_url = models.FileField(blank=True,null=True)
    timeStamp = models.DateTimeField(auto_now_add=True,auto_now=False)
    location = models.CharField(max_length=30)
    likes_count = models.BigIntegerField(default=0)

1 Ответ

0 голосов
/ 30 июня 2018

Вы можете получить все сообщения для друзей вошедшего в систему пользователя, следуя отношениям:

friends_posts = MediaDB.objects.filter(username__user_friend__request_id=request.user)

Обратите внимание, что некоторые из ваших имен немного странные; поле username на MediaDB указывает на пользователя, поэтому оно должно называться просто user, а поля в Friends еще более странные; здесь нет «запроса», и они не являются «идентификаторами», а обратные отношения совсем не объясняют, что они собой представляют.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...