2016-08-03 27 views
0

Ich komme mit diesem Zweifel abobt, wie man eine Liste verknüpfter Daten basierend auf vorhandenen Objekten erstellt, zuerst habe ich ein Modell mit einem DateTimeField, das das Datum und die Stunde speichert, dass das Objekt hinzugefügt wurde.Django Erstelle Datumsliste von bestehenden Objekten

Ich habe so etwas wie:

| pk | Name | Datum
| 1 | Name 1 | 2016.08.02 16: 14: 30,405305
| 2 | Name 2 | 2016.08.02 16: 15: 30,405305
| 3 | Name 3 | 2016.08.03 16: 46: 29,532976
| 4 | Name 4 | 2016.08.04 16: 46: 29,532976

und ich habe einige Aufzeichnungen am selben Tag, aber andere Stunde, was ich will, ist eine Liste mit nur die einzigartigen Tage zu machen:

2016-08-02
2016-08-03
2016-08-04

Und auch, weil ich die CBV DayArchiveView will mit bin ich einen Link hinzufügen, um die Elemente sie pro Tag zur Liste mit ein uRL-Muster wie folgt aus:

url(r'^archive/(?P<year>[0-9]{4})/(?P<month>[-\w]+)/(?P<day>[0-9]+)/$', ArticleDayArchiveView.as_view(), name="archive_day"), 

Die Wahrheit ist, dass ich habe keine Ahnung, wie das zu erreichen, können Sie mir helfen mit, dass?

Antwort

1

Extrahierung einzigartige Termine

instances = YourModel.objects.all() 
unique_dates = list(set(map(lambda x: x.date.strftime("%Y-%m-%d"), instances))) 

Über die Auflistung ihnen, Ihre URL-Muster sieht ok. Sie müssen eine Ansicht definieren, um sie abzurufen und mit dieser URL zu verbinden.

UPDATE:

Wenn Sie wollen, dass sie bestellen, nur:

sorted_dates = sorted(unique_dates) 
+0

Dank, es funktioniert großartig, es ist auch möglich, die Daten zu bestellen und ihnen Paginieren? weil es anzeigt: die Liste ungeordnet –

+0

@ElrosRomeo aktualisieren Sie es. – levi

+0

genial, danke –