Как получить как / не нравится счет из модели поста в django? - PullRequest
0 голосов
/ 18 апреля 2020

модель моего поста

class Post(models.Model):
    user=models.ForeignKey(settings.AUTH_USER_MODEL, null=True, on_delete=models.SET_NULL, related_name='post_owner')
    title=models.CharField(max_length=250)
    body=models.CharField(max_length=1000)
    slug=models.SlugField(max_length=100, blank=True)
    category_name=models.ForeignKey(Category,null=True, on_delete=models.SET_NULL)
    created_at=models.DateTimeField(auto_now=False, auto_now_add=True)
    updated_at=models.DateTimeField(auto_now=True)
    published=models.BooleanField(null=True)
    publish_date=models.DateTimeField(blank=True, null=True)

модель моих лайков

class Likes(models.Model):
    token=models.ForeignKey(User, related_name='users')
    obj=models.ForeignKey(Post, related_name='likes')

модель количества моих лайков

class LikesCount(models.Model):
    likes_count=models.PositiveIntegerField()
    obj=models.OnetoOneField(Post, related_name='likescount')

теперь как получить количество лайков из моделей постов / просмотрев на момент публикации сообщения

Post.objects.filter(published=True).select_related(likescount__likes_count).order_by(likescount__likes_count)

, он будет выбирать только те сообщения, чей лайк_счет создан в модели LikesCount. то есть он делает левое внутреннее соединение. он не извлекает сообщение, чьи лайк-колы не созданы в модели LikesCount.

my logi c для счетчиков лайков: объект likes_count создается при создании первых лайков в модели Likes, а не при создании поста.

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