Files
eventify_backend/events/models.py

54 lines
1.9 KiB
Python
Raw Normal View History

2025-11-27 11:53:46 +05:30
from django.db import models
from master_data.models import EventType
2025-11-28 03:11:38 +05:30
2025-11-27 11:53:46 +05:30
class Event(models.Model):
created_date = models.DateField(auto_now_add=True)
name = models.CharField(max_length=200)
description = models.TextField()
start_date = models.DateField(blank=True, null=True)
end_date = models.DateField(blank=True, null=True)
2025-12-01 04:52:49 +05:30
start_time = models.TimeField(blank=True, null=True)
end_time = models.TimeField(blank=True, null=True)
all_year_event = models.BooleanField(default=False)
2025-11-27 11:53:46 +05:30
latitude = models.DecimalField(max_digits=9, decimal_places=6)
longitude = models.DecimalField(max_digits=9, decimal_places=6)
pincode = models.CharField(max_length=10)
district = models.CharField(max_length=100)
state = models.CharField(max_length=100)
place = models.CharField(max_length=200)
is_bookable = models.BooleanField(default=False)
is_eventify_event = models.BooleanField(default=True)
outside_event_url = models.URLField(default='NA')
event_type = models.ForeignKey(EventType, on_delete=models.CASCADE)
event_status = models.CharField(max_length=250, choices=[
('created', 'Created'),
('cancelled', 'Cancelled'),
('pending', 'Pending'),
('completed', 'Completed'),
('postponed', 'Postponed'),
], default='pending')
cancelled_reason = models.TextField(default='NA')
2025-12-01 04:52:49 +05:30
title = models.CharField(max_length=250, blank=True)
important_information = models.TextField(blank=True)
venue_name = models.CharField(max_length=250, blank=True)
2025-11-27 11:53:46 +05:30
def __str__(self):
return f"{self.name} ({self.start_date})"
2025-11-28 03:11:38 +05:30
2025-11-27 11:53:46 +05:30
class EventImages(models.Model):
event = models.ForeignKey(Event, on_delete=models.CASCADE)
is_primary = models.BooleanField(default=False)
event_image = models.ImageField(upload_to='event_images')
def __str__(self):
return f"{self.event_image}"