Fix /api/locsext API
This commit is contained in:
@ -577,13 +577,9 @@ class EntrySerializer(serializers.ModelSerializer):
|
|||||||
event = serializers.PrimaryKeyRelatedField(queryset=NewEvent2.objects.all())
|
event = serializers.PrimaryKeyRelatedField(queryset=NewEvent2.objects.all())
|
||||||
category = serializers.PrimaryKeyRelatedField(queryset=NewCategory.objects.all())
|
category = serializers.PrimaryKeyRelatedField(queryset=NewCategory.objects.all())
|
||||||
owner = serializers.PrimaryKeyRelatedField(read_only=True)
|
owner = serializers.PrimaryKeyRelatedField(read_only=True)
|
||||||
#date = serializers.DateTimeField(input_formats=['%Y-%m-%d'])
|
date = serializers.DateTimeField(required=False, allow_null=True) # DateTimeFieldを使用
|
||||||
date = serializers.DateField(required=False, allow_null=True) # DateTimeFieldではなくDateFieldを使用
|
|
||||||
zekken_number = serializers.IntegerField()
|
zekken_number = serializers.IntegerField()
|
||||||
|
|
||||||
#date = serializers.DateTimeField(default_timezone=timezone.get_current_timezone())
|
|
||||||
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Entry
|
model = Entry
|
||||||
fields = [
|
fields = [
|
||||||
@ -597,36 +593,24 @@ class EntrySerializer(serializers.ModelSerializer):
|
|||||||
def validate_date(self, value):
|
def validate_date(self, value):
|
||||||
if isinstance(value, str):
|
if isinstance(value, str):
|
||||||
try:
|
try:
|
||||||
|
# 文字列をdatetimeオブジェクトに変換
|
||||||
value = datetime.strptime(value, "%Y-%m-%d")
|
value = datetime.strptime(value, "%Y-%m-%d")
|
||||||
except ValueError:
|
except ValueError:
|
||||||
raise serializers.ValidationError("Invalid date format. Use YYYY-MM-DD.")
|
raise serializers.ValidationError("Invalid date format. Use YYYY-MM-DD.")
|
||||||
|
|
||||||
if isinstance(value, date):
|
if isinstance(value, date) and not isinstance(value, datetime):
|
||||||
|
# dateオブジェクトをdatetimeオブジェクトに変換
|
||||||
value = datetime.combine(value, datetime.min.time())
|
value = datetime.combine(value, datetime.min.time())
|
||||||
|
|
||||||
if timezone.is_naive(value):
|
if isinstance(value, datetime) and timezone.is_naive(value):
|
||||||
return timezone.make_aware(value, timezone.get_current_timezone())
|
return timezone.make_aware(value, timezone.get_current_timezone())
|
||||||
return value
|
return value
|
||||||
|
|
||||||
|
|
||||||
#if isinstance(value, date):
|
|
||||||
# # dateオブジェクトをdatetimeオブジェクトに変換
|
|
||||||
# value = datetime.combine(value, datetime.min.time())
|
|
||||||
|
|
||||||
#if timezone.is_naive(value):
|
|
||||||
# return timezone.make_aware(value, timezone.get_current_timezone())
|
|
||||||
#return value
|
|
||||||
|
|
||||||
def validate_team(self, value):
|
def validate_team(self, value):
|
||||||
if not value.members.exists():
|
if not value.members.exists():
|
||||||
raise serializers.ValidationError("チームにメンバーが登録されていません。")
|
raise serializers.ValidationError("チームにメンバーが登録されていません。")
|
||||||
return value
|
return value
|
||||||
|
|
||||||
def validate_date(self, value):
|
|
||||||
if isinstance(value, datetime):
|
|
||||||
return value.date()
|
|
||||||
return value
|
|
||||||
|
|
||||||
def validate(self, data):
|
def validate(self, data):
|
||||||
team = data.get('team')
|
team = data.get('team')
|
||||||
event = data.get('event')
|
event = data.get('event')
|
||||||
|
|||||||
Reference in New Issue
Block a user