Wpis z mikrobloga

Dobry wieczór Mirki i Mirabelki,

Potrzebuję pomocy w kilku kwestiach przy kodzie z #django #python

Mam taki kod: https://pastebin.com/H3yNRTex

Tworzę sobie obsługę danych pobieranych z api DarkSky. Przy pierwszej implementacji wszystko działało, a dokładnie to przy każdym odświeżeniu strony kod pobierał dane przez api i ładnie się wyświetlało. Ale. Pomyślałem, że bez sensu jak za każdym razem jest wysyłany request, lepiej byłoby max raz dziennie - interesuje mnie jedna lokalizacja i nie potrzebuję na bieżąco monitorować zmian - więc chciałem przy pierwszym wywołaniu pobrać dane i wrzucić je do bazy danych, a potem tylko sprawdzać czy dzisiejszy dzień jest już w bazie. No i nie wiem jak to zrobić.

1. Jak zrobić klasę, która sprawdza czy są dane z dziś w bazie? Jeśli tak - zwraca te dane, jeśli nie to wysyła request o dane, zapisuje je w bazie i zwraca
2. Jak sformatować pole modelu daty tak żeby była tam tylko data w formacie Rok-miesiąc-dzień, bez dokładnej godziny.

Na inne sugestie jest również otwarty :)

Wiem, że zrobiłem trochę spaghetti code, po prostu próbuję zrobić cokolwiek co by zadziałało.
  • 1
  • Odpowiedz
Jak zrobić klasę, która sprawdza czy są dane z dziś w bazie? Jeśli tak - zwraca te dane, jeśli nie to wysyła request o dane, zapisuje je w bazie i zwraca


@Anorax: Przy ściąganiu zapisz date w tym modelu (albo osobnym), w widoku zwracaj dane z modelu (a jeszcze lepiej cache) jeżeli dzisiejsza data jest taka sama jak w modelu inaczej ściągaj i zapisz do modelu/cache

Jak sformatować pole modelu daty
  • Odpowiedz