Django Социальные медиа Архитектура домашней страницы - PullRequest
0 голосов
/ 19 декабря 2018

Я делаю веб-приложение в стиле Facebook.Где, если вы подружитесь с кем-то (в моем случае, следуйте за кем-то), вы увидите все действия, которые выполняет человек, за которым вы следуете.Пример He likes a post.Он создает новый post. Он присоединяется к group.Пользователь может сделать от 10 до 15 различных действий. Я хочу, чтобы все его подписчики увидели на своей домашней странице, что он делает.

Если пользователь следует за двумя разными людьми.Я хочу, чтобы все действия отображались в хронологическом порядке.

Пример

  • Сегодня в 18:00 Альфа понравился этот пост Jasjdajkd sjjdhaskdh sahjkkdhkahskdh
  • Сегодня в19:00 Бета присоединился к этой группе The gardening Group
  • Сегодня в 20:00 Альфа прокомментировал это сообщение Is climate change for real

Ниже моя обезьянапатч в models.py для моего пользователя follow/following

class Contact(models.Model):
    user_from = models.ForeignKey(User, related_name='suppporter')
    user_to = models.ForeignKey(User, related_name='leader')

    def __str__(self):
        return '{} follows {}'.format(self.user_from, self.user_to)


User.add_to_class('following',
                  models.ManyToManyField('self', through=Contact, related_name='followers', symmetrical=False))

Может кто-нибудь порекомендовать способ, которым я могу этого добиться.

...