Add migrations for ParkPhoto and RidePhoto models with associated events

- Created ParkPhoto and ParkPhotoEvent models in the parks app, including fields for image, caption, alt text, and relationships to the Park model.
- Implemented triggers for insert and update operations on ParkPhoto to log changes in ParkPhotoEvent.
- Created RidePhoto and RidePhotoEvent models in the rides app, with similar structure and functionality as ParkPhoto.
- Added fields for photo type in RidePhoto and implemented corresponding triggers for logging changes.
- Established necessary indexes and unique constraints for both models to ensure data integrity and optimize queries.
This commit is contained in:
pacnpal
2025-08-26 14:40:46 -04:00
parent 831be6a2ee
commit e4e36c7899
133 changed files with 1321 additions and 1001 deletions

View File

@@ -551,14 +551,12 @@ class ParkCreateView(LoginRequiredMixin, CreateView):
image=photo_file,
uploaded_by=self.request.user,
park=self.object,
) )
)
uploaded_count += 1
except Exception as e:
messages.error(
self.request,
f"Error uploading photo {
photo_file.name}: {
str(e)}",
f"Error uploading photo {photo_file.name}: {str(e)}",
)
messages.success(
@@ -571,7 +569,8 @@ class ParkCreateView(LoginRequiredMixin, CreateView):
messages.error(
self.request,
f"Error creating park: {
str(e)}. Please check your input and try again.",
str(e)
}. Please check your input and try again.",
)
return self.form_invalid(form)
@@ -727,9 +726,7 @@ class ParkUpdateView(LoginRequiredMixin, UpdateView):
except Exception as e:
messages.error(
self.request,
f"Error uploading photo {
photo_file.name}: {
str(e)}",
f"Error uploading photo {photo_file.name}: {str(e)}",
)
messages.success(
@@ -742,7 +739,8 @@ class ParkUpdateView(LoginRequiredMixin, UpdateView):
messages.error(
self.request,
f"Error updating park: {
str(e)}. Please check your input and try again.",
str(e)
}. Please check your input and try again.",
)
return self.form_invalid(form)