Как вывести колличество юзеров, которые смотрели ту или иную публикацию на django?

Чтобы вывести количество пользователей, которые просмотрели определенную публикацию на фреймворке Django, необходимо выполнить следующие шаги.

1. Определите модель для публикаций и модель для пользователей. Например:

from django.db import models
from django.contrib.auth.models import User

class Publication(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    viewed_by = models.ManyToManyField(User, related_name='viewed_publications')

2. Создайте представление (view), которое будет обрабатывать запрос и возвращать количество пользователей, просмотревших публикацию. Например:

from django.shortcuts import get_object_or_404
from django.http import JsonResponse

def get_viewed_users(request, publication_id):
    publication = get_object_or_404(Publication, id=publication_id)
    viewed_users_count = publication.viewed_by.count()
    return JsonResponse({'viewed_users_count': viewed_users_count})

3. Зарегистрируйте URL-шаблон для этого представления. Например, добавьте следующую строку в файле urls.py вашего приложения:

from django.urls import path
from . import views

urlpatterns = [
    ...
    path('publications/<int:publication_id>/viewed-users/', views.get_viewed_users, name='get_viewed_users'),
    ...
]

4. Теперь вы можете отправить GET-запрос на URL publications/<publication_id>/viewed-users/, где publication_id - это идентификатор публикации, чтобы получить количество пользователей, просмотревших эту публикацию.

Обратите внимание, что в приведенном примере предполагается, что у вас уже настроены модели пользователей и аутентификация в Django, также как и настройка маршрутов (URL-шаблонов) и представлений для вашего приложения. Если у вас еще нет такой конфигурации, вам может потребоваться создать модели пользователей и настроить аутентификацию перед тем, как вы сможете использовать приведенный выше пример.