bloombase/plants/migrations
Stephan Kerkman b88ba03884 feat: location FK, multi-photo gallery, hide pruning history
- 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>
2026-05-28 18:27:45 +02:00
..
0001_initial.py feat: add Species, Plant, PruningLog models 2026-05-27 19:51:11 +02:00
0002_alter_pruninglog_plant_alter_species_max_height_cm.py fix: use related_name='pruning_logs' and PositiveIntegerField for max_height_cm 2026-05-27 19:59:35 +02:00
0003_add_bloom_months.py feat: replace pruning UI with bloom months 2026-05-28 17:03:25 +02:00
0004_location_plantphoto.py feat: location FK, multi-photo gallery, hide pruning history 2026-05-28 18:27:45 +02:00
__init__.py feat: scaffold Django project with plants app 2026-05-27 19:40:58 +02:00