[nature] Add iNaturalist observation importer and scrobbles

- New nature app with SpeciesObservation model (scrobblable)
- SpeciesObservationLogData for observation-specific fields
- Atom feed parser + iNat REST API enrichment
- Photo download and local storage
- Celery periodic import (every 4 hours)
- Management command: import_from_inaturalist
- Species fields: title, scientific_name, taxon_id, iconic_taxon_name, rank, wikipedia_url
- Log fields: observation_id, photo_urls, quality_grade, place_guess, lat/lon, uri, identifications_count
- Updates existing scrobbles when observation data changes
- iNaturalist user mapping on UserProfile
- Templates, admin, API, URLs
- Default 5 minute run time for species observations
This commit is contained in:
2026-07-16 23:43:21 -04:00
parent 00249e3d3b
commit c3673e2679
28 changed files with 846 additions and 5 deletions

View File

@ -0,0 +1,8 @@
from nature.models import SpeciesObservation
from rest_framework import serializers
class SpeciesObservationSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = SpeciesObservation
fields = "__all__"