modèles connexes:objets de commande par la plupart des vues uniques (stockées dans une autre table avec ip) dans django
models.py
class Entry(models.Model):
...
class EntryView(models.Model):
entry = models.ForeignKey(Entry)
dt_clicked = models.DateTimeField(auto_now_add=True)
ip = models.CharField(max_length=15, db_index=True, blank=True)
host = models.CharField(max_length=64, db_index=True, blank=True)
referer = models.CharField(max_length=64, db_index=True, blank=True)
def __unicode__(self):
return "%s -> %s" % (self.ip, self.entry.headline)
Je suppose que je pouvais faire quelque chose comme ceci:
vues .py
...
popular = Entry.articles.values('ip').annotate(Count("entry_views__id")).order_by()
...
Mais je ne vois pas comment cela fonctionnerait puisqu'il n'y a pas de champ pour EntryView in Entry.
Merci, cela fonctionne :) – demux
uhm, non, ce n'est pas groupé par ip. – demux
popular = Entry.objects.annotate (count = Count ("entryview__ip", distinct = True)). Order_by ('- count') – demux