Fix migration error
This commit is contained in:
@ -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 = [
|
||||
|
||||
Reference in New Issue
Block a user