mam tego modelu:Get odrębne wartości queryset przez pola
class Visit(models.Model):
timestamp = models.DateTimeField(editable=False)
ip_address = models.IPAddressField(editable=False)
If użytkownik odwiedza wiele razy w ciągu jednego dnia, jak można filtrować unikalnych wierszy opartych na polu ip? (Chcę unikalnych wizyt do dzisiaj)
today = datetime.datetime.today()
yesterday = datetime.datetime.today() - datetime.timedelta(days=1)
visits = Visit.objects.filter(timestamp__range=(yesterday, today)) #.something?
EDIT:
widzę, że mogę używać:
Visit.objects.filter(timestamp__range=(yesterday, today)).values('ip_address')
dostać ValuesQuerySet z zaledwie pól IP. Teraz moja QuerySet wygląda następująco:
[{'ip_address': u'127.0.0.1'}, {'ip_address': u'127.0.0.1'}, {'ip_address':
u'127.0.0.1'}, {'ip_address': u'127.0.0.1'}, {'ip_address': u'127.0.0.1'}]
Jak można filtrować ten wyjątkowości bez oceny QuerySet i biorąc trafienie db?
# Hope it's something like this...
values.distinct().count()
możliwy duplikat [Wybierz różne wartości z pola tabeli] (http://stackoverflow.com/questions/2466496/select-distinct-values-from-a-table-field) –