Django Rest Framework Аналитика

Я искал в интернете несколько часов и не смог найти ответ, так что это мое последнее средство.

Есть ли у вас идеи, как лучше всего фиксировать, сколько пользователь отправил, скажем, get запрос для определенной конечной точки? Я также хочу, чтобы это было различимо по тому, отправил ли пользователь запрос в мобильном приложении или на сайте (та же конечная точка).

Я думал о том, чтобы сделать модель примерно следующего содержания:

class Visit(models.Model)
    product = models.ForeignKey('Product')
    user = models.ForeignKey('User')
    on_mobile = models.BooleanField(default='False')
    on_website = models.BooleanField(default='False')
    times_visit = models.IntegerField(default=0)

и стрельба

if Visit.objects.get(user=self.request.user, product=self.kwargs['pk']).exists():
    times_visit += 1 
Visit.objects.create(user=self.request.user, product=self.kwargs['pk'])

Есть ли у вас идеи, как "проверить", отправил ли пользователь его через мобильное приложение или через сайт? Или может быть есть какой-то другой лучший способ? Буду благодарен за любую помощь.

Вам необходимо разобрать пользовательский агент. Для этого существует некоторая библиотека.

Я использую эту библиотеку.

https://pypi.org/project/user-agents/

Вернуться на верх