- Location model: plants now FK to Location instead of free-text CharField - Data migration 0004 converts existing location strings to Location objects - PlantForm uses ModelChoiceField dropdown + inline "add new location" text field - PlantPhoto model: multiple photos per plant with is_thumbnail flag - Plant.thumbnail_url property: picks marked thumbnail, falls back to first photo then legacy photo field - Photo gallery partial: upload, set thumbnail (★), delete (✕) with HTMX swaps on #photo-gallery - plant_detail: uses thumbnail_url for hero image, pruning history section removed - plant_list search updated: location__name__icontains instead of location__icontains - Three new URL routes: upload_photo, set_thumbnail, delete_photo - All 53 tests updated and passing Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| dashboard.py | ||
| plants.py | ||
| pruning.py | ||
| species.py | ||