add model image for club

sync_v2
Raz 6 months ago
parent 3ce4c16ec3
commit 290092d879
  1. 24
      tournaments/migrations/0126_image_club_alter_image_event.py
  2. 15
      tournaments/models/image.py

@ -0,0 +1,24 @@
# Generated by Django 5.1 on 2025-05-20 09:46
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('tournaments', '0125_tournament_unregister_delta_in_hours'),
]
operations = [
migrations.AddField(
model_name='image',
name='club',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='images', to='tournaments.club'),
),
migrations.AlterField(
model_name='image',
name='event',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='images', to='tournaments.event'),
),
]

@ -2,7 +2,7 @@ from django.db import models
import uuid
import os
from django.utils.timezone import now
from .event import Event
from .event import Event, Club
def image_upload_path(instance, filename):
"""Generate a unique file path for the uploaded image."""
@ -11,9 +11,13 @@ def image_upload_path(instance, filename):
# Create a unique filename using UUID
unique_filename = f"{uuid.uuid4().hex}.{ext}"
# Determine the folder based on the event
folder = f"event_{instance.event.id}"
if instance.event:
# Determine the folder based on the event
folder = f"event_{instance.event.id}"
elif instance.club:
folder = f"club_{instance.club.id}"
else:
folder = f"unknown"
# Return the complete upload path
return os.path.join('images', folder, unique_filename)
@ -26,7 +30,8 @@ class Image(models.Model):
uploaded_at = models.DateTimeField(default=now)
# Relation to event model
event = models.ForeignKey(Event, on_delete=models.CASCADE, related_name='images')
event = models.ForeignKey(Event, null=True, blank=True, on_delete=models.CASCADE, related_name='images')
club = models.ForeignKey(Club, null=True, blank=True, on_delete=models.CASCADE, related_name='images')
# Image type for filtering
IMAGE_TYPES = (

Loading…
Cancel
Save