J'ai un modèle Django, montré ci-dessous, que j'utilise pour garder une trace des adresses IP qui visitent mon site et quand.Django: S'il vous plaît aider avec ce jeu de requête
class Visit(models.Model):
created = models.DateTimeField(default=datetime.utcnow)
ip = models.IPAddressField(editable=False)
Je voudrais écrire une méthode sur ce modèle qui renvoie le nombre de jours pris pour les 100 dernières visites à partir d'une adresse IP particulière. Les visites multiples en une seule journée (heure, etc.) à partir d'une adresse IP comptent toutes comme des visites séparées. Donc, si quelqu'un visted le site 100 fois au cours des 2 derniers jours, il reviendrait 2, 100 fois au cours des 8 derniers jours, il reviendrait 8, et ainsi de suite.
Merci cela semble presque correct. Cependant, il renvoie toujours 100 plutôt que le nombre de jours. Je suppose que c'est parce que créé est un champ DateTime donc chaque date est unique. – FunLovinCoder
Vous pouvez créer des objets Date à partir de l'objet DateTime pour obtenir des dates uniques au lieu d'horodatages uniques. Ou vous pouvez suivre la solution de @ fahhem qui semble plus propre. – rubayeet