Как посчитать теги с именем тега пользователя в Django ORM - PullRequest
0 голосов
/ 28 мая 2018

У меня есть модель поста, как показано ниже, и я использую django-taggit

class Post(models.Model):
  user = models.ForeignKey(User)
  post = models.TextField()
  tags = TaggableManager()

>>>p1 = Post(user='user1', post='Some description', tags="python, java, js")
>>>p1.save()
>>>p2 = Post(user='user2', post='Some description', tags="c, java, js")
>>>p2.save()
>>>p3 = Post(user='user1', post='Some description', tags="c, js, python")
>>>p3.save()

Теперь я хочу получить теги и количество тегов каждого пользователя помечено, как показано ниже

{
  'user1': {'python':2, 'java':1, 'js':2, 'c':1}, 
  'user2': {'c':1,'java':1,'js':1}
}

Я пытался с аннотированием, агрегацией, но не смог написать точный запрос.

1 Ответ

0 голосов
/ 28 мая 2018
Post.objects.filter(tags__name__in=["python"]).count()
...