У меня есть модель Django, показанная ниже, которую я использую, чтобы отслеживать, какие IP-адреса посещают мой сайт и когда.Django: Пожалуйста, помогите с этим запросом
class Visit(models.Model):
created = models.DateTimeField(default=datetime.utcnow)
ip = models.IPAddressField(editable=False)
Я хотел бы написать метод на этой модели, которая возвращает количество дней в приняли за последние 100 посещений из определенного IP. Несколько посещений за один день (час и т. Д.) Из IP все считаются отдельными посещениями. Итак, если кто-то за 100 дней за последние 2 дня посетил сайт, он вернется 2, 100 раз за последние 8 дней, он вернется 8 и т. Д.
Спасибо, это выглядит почти правильно. Однако он всегда возвращает 100, а не количество дней. Я подозреваю, что это потому, что created - это поле DateTime, поэтому каждая дата уникальна. – FunLovinCoder
Вы можете сформировать объекты Date из объекта DateTime, чтобы получить уникальные даты вместо уникальных временных меток. Или вы можете следовать решению @fahhem, которое кажется более аккуратным. – rubayeet