Fix migration error

This commit is contained in:
2025-08-29 09:11:20 +09:00
parent a180c1e258
commit b91b522fa3
26 changed files with 5848 additions and 22 deletions

View File

@ -7,6 +7,8 @@ from sre_constants import CH_LOCALE
from typing import ChainMap
from django.contrib.gis.db import models
from django.contrib.postgres.fields import ArrayField
from django.utils import timezone
from datetime import timedelta
try:
from django.db.models import JSONField
except ImportError:
@ -595,16 +597,50 @@ class NewEvent2(models.Model):
return False
return False
def get_default_end_datetime():
"""デフォルトの終了日時を取得"""
from datetime import timedelta
return timezone.now() + timedelta(days=1)
class NewEvent(models.Model):
event_name = models.CharField(max_length=255, primary_key=True)
start_datetime = models.DateTimeField(default=timezone.now)
end_datetime = models.DateTimeField()
end_datetime = models.DateTimeField(default=get_default_end_datetime)
def __str__(self):
return f"{self.event_name} - From:{self.start_datetime} To:{self.end_datetime}"
def get_default_category():
return NewCategory.objects.get_or_create(category_name="Default Category", category_number=1)[0].id
"""デフォルトカテゴリーを取得または作成"""
try:
return NewCategory.objects.get_or_create(
category_name="Default Category",
defaults={'category_number': 1}
)[0].id
except Exception:
return 1 # フェイルセーフ
def get_default_multipoint():
"""デフォルトのMultiPointを取得"""
try:
from django.contrib.gis.geos import MultiPoint, Point
return MultiPoint([Point(0, 0)])
except Exception:
return None
def get_default_event():
"""デフォルトイベントを取得または作成"""
try:
from datetime import timedelta
return NewEvent2.objects.get_or_create(
event_name="Default Event",
defaults={
'start_datetime': timezone.now(),
'end_datetime': timezone.now() + timedelta(days=1)
}
)[0].id
except Exception:
return 1 # フェイルセーフ
class Team(models.Model):
@ -700,9 +736,9 @@ class NewCategory(models.Model):
class Entry(models.Model):
team = models.ForeignKey(Team, on_delete=models.CASCADE)
event = models.ForeignKey(NewEvent2, on_delete=models.CASCADE)
category = models.ForeignKey(NewCategory, on_delete=models.CASCADE)
date = models.DateTimeField()
event = models.ForeignKey(NewEvent2, on_delete=models.CASCADE, default=get_default_event)
category = models.ForeignKey(NewCategory, on_delete=models.CASCADE, default=get_default_category)
date = models.DateTimeField(default=timezone.now)
owner = models.ForeignKey(CustomUser, on_delete=models.CASCADE,blank=True, null=True) # Akira 2024-7-24
zekken_number = models.IntegerField(default=0)
zekken_label = models.CharField(max_length=255, blank=True, null=True)
@ -1014,22 +1050,6 @@ class GpsCheckin(models.Model):
default='PENDING',
help_text="通過審査ステータス"
)
validation_comment = models.TextField(
null=True,
blank=True,
help_text="審査コメント"
)
validated_at = models.DateTimeField(
null=True,
blank=True,
help_text="審査実施日時"
)
validated_by = models.CharField(
max_length=255,
null=True,
blank=True,
help_text="審査実施者"
)
validation_comment = models.TextField(
null=True,
blank=True,
@ -1146,7 +1166,7 @@ class Location(models.Model):
created_at=models.DateTimeField(auto_now_add=True)
last_updated_user=models.ForeignKey(CustomUser, related_name="location_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
last_updated_at=models.DateTimeField(auto_now=True)
geom=models.MultiPointField(srid=4326)
geom=models.MultiPointField(srid=4326, default=get_default_multipoint)
class Meta:
indexes = [