如何在Django 2中创建跟随系统

时间:2019-07-07 18:30:51

标签: django twitter

我正在尝试创建一个以下系统,用户可以在该系统上看到彼此在时间轴上的帖子。但是我被限制在跟随系统上。

我尝试使用ManyToManyField

class Friends(models.Model):
    users = models.ManyToManyField(User)

我希望它可以让我关注其他人。

1 个答案:

答案 0 :(得分:0)

models.py

class Post(models.Model):
    post_created_user = models.ForeignKey(User, on_delete=models.CASCADE)
    post_name = models.CharField(max_length=100)
     --------other------

class FollowersAndFollowing(models.Model):
    """
    List of followers and following
    """

    followed_by = models.ForeignKey(User, on_delete=models.CASCADE,  related_name='followed_by')
    followed_to = models.ForeignKey(User, on_delete=models.CASCADE,  related_name='followed_to')
    created_date = models.DateTimeField(blank=True, null=True)

    def __str__(self):
        return self.followed_by.first_name + '-' + str(self.followed_to.first_name)

views.py

## query to get all following users list

user_ids = FollowersAndFollowing.objects.filter(followed_by=request.user).values_list('id',flat=True)


## now search for all posts 

Post.objects.filter(post_created_user__in = user_ids)