Convert Location to Location2025

This commit is contained in:
2025-08-30 02:20:25 +09:00
parent 48b09b08da
commit 9af1e03523
10 changed files with 92 additions and 93 deletions

View File

@ -4,7 +4,7 @@ from django.shortcuts import render,redirect
from leaflet.admin import LeafletGeoAdmin
from leaflet.admin import LeafletGeoAdminMixin
from leaflet_admin_list.admin import LeafletAdminListMixin
from .models import RogUser, Location, Location2025, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, Useractions, CustomUser, GifuAreas, UserTracks, templocation, UserUpload, EventUser, GoalImages, CheckinImages, NewEvent2, Team, NewCategory, Entry, Member, TempUser, GifurogeRegister, GpsLog, GpsCheckin, Checkpoint, Waypoint
from .models import RogUser, Location2025, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, Useractions, CustomUser, GifuAreas, UserTracks, templocation, UserUpload, EventUser, GoalImages, CheckinImages, NewEvent2, Team, NewCategory, Entry, Member, TempUser, GifurogeRegister, GpsLog, GpsCheckin, Checkpoint, Waypoint
from django.contrib.auth.admin import UserAdmin
from django.urls import path,reverse
from django.shortcuts import render
@ -749,9 +749,9 @@ class LocationAdmin(LeafletGeoAdmin):
def tranfer_to_location(modeladmin, request, queryset):
tmp_locs = templocation.objects.all();
for l in tmp_locs :
found = Location.objects.filter(location_id = l.location_id).exists()
found = Location2025.objects.filter(location_id = l.location_id).exists()
if found:
Location.objects.filter(location_id = l.location_id).update(
Location2025.objects.filter(location_id = l.location_id).update(
sub_loc_id = l.sub_loc_id,
cp = l.cp,
location_name = l.location_name,
@ -794,7 +794,7 @@ def tranfer_to_location(modeladmin, request, queryset):
geom=l.geom
)
else:
loc = Location(
loc = Location2025(
location_id=l.location_id,
sub_loc_id = l.sub_loc_id,
cp = l.cp,
@ -983,7 +983,6 @@ class CustomUserAdmin(UserAdmin):
admin.site.register(Useractions)
admin.site.register(RogUser, admin.ModelAdmin)
admin.site.register(Location, LocationAdmin)
admin.site.register(SystemSettings, admin.ModelAdmin)
admin.site.register(JoinedEvent, admin.ModelAdmin)
admin.site.register(Favorite, admin.ModelAdmin)

View File

@ -6,7 +6,7 @@ from django.db import transaction, connections
from django.utils import timezone
from django.conf import settings
from django.contrib.auth import get_user_model
from rog.models import Member, Team, NewEvent2, Entry, Location,NewCategory #, GpsLog
from rog.models import Member, Team, NewEvent2, Entry, Location2025,NewCategory #, GpsLog
CustomUser = get_user_model()
logger = logging.getLogger(__name__)
@ -473,7 +473,7 @@ class Command(BaseCommand):
# 4. Locationテーブルからcheckpoint_tableへの転送
self.stdout.write('checkpointデータを転送中...')
locations = Location.objects.filter(group=event.event_name)
locations = Location2025.objects.filter(group=event.event_name)
# Print the number of location records
location_count = locations.count()
self.stdout.write(f'checkpointデータ: {location_count}件を転送中...')
@ -568,7 +568,7 @@ class Command(BaseCommand):
try:
# 4. Locationテーブルからcheckpoint_tableへの転送
self.stdout.write('checkpointデータを転送中...')
locations = Location.objects.filter(event=event)
locations = Location2025.objects.filter(event_id=event.id)
for location in locations:
cursor.execute("""

View File

@ -14,7 +14,7 @@ from django.db import transaction
from rest_framework import serializers
from rest_framework_gis.serializers import GeoFeatureModelSerializer
from sqlalchemy.sql.functions import mode
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, Useractions, GifuAreas, RogUser, UserTracks, GoalImages, CheckinImages,CustomUser,NewEvent,NewEvent2, Team, NewCategory, Category, Entry, Member, TempUser,EntryMember, AppVersion, UploadedImage
from .models import Location2025, Location_line, Location_polygon, JpnAdminMainPerf, Useractions, GifuAreas, RogUser, UserTracks, GoalImages, CheckinImages,CustomUser,NewEvent,NewEvent2, Team, NewCategory, Category, Entry, Member, TempUser,EntryMember, AppVersion, UploadedImage
from drf_extra_fields.fields import Base64ImageField
#from django.contrib.auth.models import User
@ -32,7 +32,7 @@ logger = logging.getLogger(__name__)
class LocationCatSerializer(serializers.ModelSerializer):
class Meta:
model=Location
model=Location2025
fields=['category',]
@ -44,7 +44,7 @@ class LocationSerializer(GeoFeatureModelSerializer):
interaction_instructions = serializers.SerializerMethodField()
class Meta:
model=Location
model=Location2025
geo_field='geom'
fields="__all__"
@ -326,7 +326,7 @@ class UserDestinationSerializer(serializers.ModelSerializer):
class LocationEventNameSerializer(serializers.ModelSerializer):
class Meta:
model = Location
model = Location2025
fields = ('id', 'event_name',)

View File

@ -35,7 +35,7 @@ from .permissions import IsTeamOwner,IsTeamOwnerOrMember
from curses.ascii import NUL
from django.core.serializers import serialize
from .models import GoalImages, Location, Location_line, Location_polygon, JpnAdminMainPerf, Useractions, GifuAreas, RogUser, CustomUser, UserTracks, GoalImages, CheckinImages, NewEvent,NewEvent2, Team, Category, NewCategory,Entry, Member, TempUser, EntryMember, GpsCheckin
from .models import GoalImages, Location2025, Location_line, Location_polygon, JpnAdminMainPerf, Useractions, GifuAreas, RogUser, CustomUser, UserTracks, GoalImages, CheckinImages, NewEvent,NewEvent2, Team, Category, NewCategory,Entry, Member, TempUser, EntryMember, GpsCheckin
from rest_framework import viewsets
from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, LocationCatSerializer, UserSerializer, LoginUserSerializer, UseractionsSerializer, UserDestinationSerializer, GifuAreaSerializer, LocationEventNameSerializer, RogUserSerializer, UserTracksSerializer, ChangePasswordSerializer, GolaImageSerializer, CheckinImageSerializer, RegistrationSerializer, MemberWithUserSerializer,TempUserRegistrationSerializer, PasswordResetRequestSerializer, PasswordResetConfirmSerializer
from knox.models import AuthToken
@ -237,12 +237,12 @@ class NewEvent2Admin(admin.ModelAdmin):
class LocationViewSet(viewsets.ModelViewSet):
queryset=Location.objects.all()
queryset=Location2025.objects.all()
serializer_class=LocationSerializer
filter_fields=["prefecture", "location_name"]
def get_queryset(self):
queryset = Location.objects.all()
queryset = Location2025.objects.all()
# リクエストパラメータの確認
group_filter = self.request.query_params.get('group__contains')
@ -390,25 +390,25 @@ def LocationsInPerf(request):
if(cat):
if is_rog:
if grp:
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat, group__contains=grp)
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat, group__contains=grp)
else:
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat)
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat)
else:
if grp:
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, group__contains=grp, location_name__contains='観光')
locs = Location2025.objects.filter(geom__within=perf_geom.geom, category=cat, group__contains=grp, location_name__contains='観光')
else:
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, location_name__contains='観光')
locs = Location2025.objects.filter(geom__within=perf_geom.geom, category=cat, location_name__contains='観光')
else:
if is_rog:
if grp:
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, group__contains=grp)
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, group__contains=grp)
else:
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom)
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom)
else:
if grp:
locs = Location.objects.filter(geom__within=perf_geom.geom, group__contains=grp, location_name__contains='観光')
locs = Location2025.objects.filter(geom__within=perf_geom.geom, group__contains=grp, location_name__contains='観光')
else:
locs = Location.objects.filter(geom__within=perf_geom.geom, location_name__contains='観光')
locs = Location2025.objects.filter(geom__within=perf_geom.geom, location_name__contains='観光')
serializer = LocationSerializer(locs, many=True)
return JsonResponse(serializer.data, safe=False)
@ -423,22 +423,22 @@ def LocationsInSubPerf(request):
if(cat):
if is_rog:
if grp:
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat, group__contains=grp)
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat, group__contains=grp)
else:
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat)
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, category=cat)
else:
if grp:
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, group__contains=grp, location_name__contains='観光')
locs = Location2025.objects.filter(geom__within=perf_geom.geom, category=cat, group__contains=grp, location_name__contains='観光')
else:
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, location_name__contains='観光')
locs = Location2025.objects.filter(geom__within=perf_geom.geom, category=cat, location_name__contains='観光')
else:
if is_rog:
if grp:
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, group__contains=grp)
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom, group__contains=grp)
else:
locs = Location.objects.filter(~Q(cp=0), geom__within=perf_geom.geom)
locs = Location2025.objects.filter(~Q(cp=0), geom__within=perf_geom.geom)
else:
locs = Location.objects.filter(geom__within=perf_geom.geom, location_name__contains='観光')
locs = Location2025.objects.filter(geom__within=perf_geom.geom, location_name__contains='観光')
serializer = LocationSerializer(locs, many=True)
return JsonResponse(serializer.data, safe=False)
@ -490,7 +490,7 @@ def LocationInBound(request):
# 10km四方の領域を指定
distance_from_point = 40000 # 中心から10km半径
base_query = Location.objects.filter(
base_query = Location2025.objects.filter(
geom__distance_lte=(current_point, D(m=distance_from_point))
).annotate(distance=Distance('geom', current_point)).order_by('distance')
@ -536,13 +536,13 @@ def LocationInBound2(request):
if lat is not None and lon is not None:
if grp:
# grpがある場合、最初に絞り込む
base_query = Location.objects.filter(group__contains=grp)
base_query = Location2025.objects.filter(group__contains=grp)
else:
current_point = Point(lon, lat, srid=4326)
# 10km四方の領域を指定
distance_from_point = 40000 # 中心から10km半径
base_query = Location.objects.filter(
base_query = Location2025.objects.filter(
geom__distance_lte=(current_point, D(m=distance_from_point))
).annotate(distance=Distance('geom', current_point)).order_by('distance')
@ -592,7 +592,7 @@ def LocationInBound_orig(request):
pl = geos.Polygon(((lon1, lat1), (lon2, lat2), (lon3, lat3), (lon4, lat4), (lon1, lat1)), srid=4326)
logger.debug(f"Created polygon: {pl}")
base_query = Location.objects.filter(geom__within=pl, event_name__isnull=True)
base_query = Location2025.objects.filter(geom__within=pl, event_name__isnull=True)
if cat:
base_query = base_query.filter(category=cat)
@ -617,25 +617,25 @@ def LocationInBound_orig(request):
if(cat):
if is_rog:
if grp:
locs = Location.objects.filter(~Q(cp=0), geom__within=pl, category=cat, event_name__isnull=True, group__contains=grp)
locs = Location2025.objects.filter(~Q(cp=0), geom__within=pl, category=cat, event_name__isnull=True, group__contains=grp)
else:
locs = Location.objects.filter(~Q(cp=0), geom__within=pl, category=cat, event_name__isnull=True)
locs = Location2025.objects.filter(~Q(cp=0), geom__within=pl, category=cat, event_name__isnull=True)
else:
if grp:
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, group__contains=grp, location_name__contains='観光')
locs = Location2025.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, group__contains=grp, location_name__contains='観光')
else:
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, location_name__contains='観光')
locs = Location2025.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, location_name__contains='観光')
else:
if is_rog:
if grp:
locs = Location.objects.filter(~Q(cp=0), geom__within=pl, event_name__isnull=True, group__contains=grp)
locs = Location2025.objects.filter(~Q(cp=0), geom__within=pl, event_name__isnull=True, group__contains=grp)
else:
locs = Location.objects.filter(~Q(cp=0), geom__within=pl, event_name__isnull=True)
locs = Location2025.objects.filter(~Q(cp=0), geom__within=pl, event_name__isnull=True)
else:
if grp:
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, group__contains=grp, location_name__contains='観光')
locs = Location2025.objects.filter(geom__within=pl, event_name__isnull=True, group__contains=grp, location_name__contains='観光')
else:
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, location_name__contains='観光')
locs = Location2025.objects.filter(geom__within=pl, event_name__isnull=True, location_name__contains='観光')
'''
if len(locs) > 200:
@ -695,7 +695,7 @@ def ExtentForLocations(request):
return JsonResponse({"error": "No event code associated with the user"}, status=status.HTTP_400_BAD_REQUEST)
try:
locs = Location.objects.filter(group__contains=ec).aggregate(Extent('geom'), Union('geom'))
locs = Location2025.objects.filter(group__contains=ec).aggregate(Extent('geom'), Union('geom'))
if not locs['geom__extent']:
logger.info(f"No locations found for event_code: {ec}")
@ -708,7 +708,7 @@ def ExtentForLocations(request):
logger.error(f"Error in ExtentForLocations: {str(e)}", exc_info=True)
return JsonResponse({"error": "An error occurred while processing your request"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
#locs = Location.objects.filter(group__contains=ec).aggregate(Extent('geom'), Union('geom'))
#locs = Location2025.objects.filter(group__contains=ec).aggregate(Extent('geom'), Union('geom'))
#return JsonResponse(locs['geom__extent'], safe=False)
@ -747,15 +747,15 @@ def CatView(request):
if(lat1 != None and lon1 != None and lat2 != None and lon2 != None and lat3 != None and lon3 != None and lat4 != None and lon4 != None):
pl = geos.Polygon(((lon1, lat1), (lon2, lat2), (lon3, lat3), (lon4, lat4), (lon1, lat1)), srid=4326)
#locs = Location.objects.filter(geom__within=pl)
c = Location.objects.filter(geom__within=pl).values('category').distinct()
#locs = Location2025.objects.filter(geom__within=pl)
c = Location2025.objects.filter(geom__within=pl).values('category').distinct()
serializer = LocationCatSerializer(c, many=True)
return JsonResponse(serializer.data, safe=False)
else:
return null
c = Location.objects.filter().values('category').distinct()
c = Location2025.objects.filter().values('category').distinct()
serializer = LocationCatSerializer(c, many=True)
return JsonResponse(serializer.data, safe=False)
@ -764,7 +764,7 @@ def CatByCity(request):
city = request.GET.get('city')
if(city != None):
cilt_polygon = JpnSubPerf.objects.filter(adm1_ja=city)
cats = Location.objects.filter(geom__within=cilt_polygon[0].geom).values('category').distinct()
cats = Location2025.objects.filter(geom__within=cilt_polygon[0].geom).values('category').distinct()
serializer = LocationCatSerializer(cats, many=True)
return JsonResponse(serializer.data, safe=False)
else:
@ -1042,7 +1042,7 @@ def DeleteAccount(request):
def UserActionViewset(request):
user_id = request.GET.get('user_id')
location_id = request.GET.get('location_id')
location = Location.objects.get(location_id=location_id)
location = Location2025.objects.get(location_id=location_id)
user = CustomUser.objects.get(id=user_id)
action = Useractions.objects.filter(location=location, user=user)
serializer = UseractionsSerializer(action, many=True)
@ -1055,7 +1055,7 @@ def UserMakeActionViewset(request):
wanttogo = True if request.GET.get('wanttogo') == "true" else False
like = True if request.GET.get('like') == "true" else False
checkin = True if request.GET.get('checkin') == "true" else False
location = Location.objects.get(location_id=location_id)
location = Location2025.objects.get(location_id=location_id)
user = CustomUser.objects.get(id=user_id)
#action = Useractions.objects.filter(location__id=location_id, user__id=user_id)
rec = Useractions.objects.filter(user=user, location=location)
@ -1145,32 +1145,32 @@ def CustomAreaLocations(request):
if(cat != None):
if is_rog:
if grp:
locs = Location.objects.filter(~Q(cp=0), event_name__isnull=False, category=cat, event_name=name, group__contains=grp)
locs = Location2025.objects.filter(~Q(cp=0), event_name__isnull=False, category=cat, event_name=name, group__contains=grp)
else:
locs = Location.objects.filter(~Q(cp=0), event_name__isnull=False, category=cat, event_name=name)
locs = Location2025.objects.filter(~Q(cp=0), event_name__isnull=False, category=cat, event_name=name)
else:
if grp:
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, group__contains=grp, location_name__contains='観光')
locs = Location2025.objects.filter(event_name__isnull=False, category=cat, event_name=name, group__contains=grp, location_name__contains='観光')
else:
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, location_name__contains='観光')
locs = Location2025.objects.filter(event_name__isnull=False, category=cat, event_name=name, location_name__contains='観光')
else:
if is_rog:
if grp:
locs = Location.objects.filter(~Q(cp=0), event_name__isnull=False, event_name=name, group__contains=grp)
locs = Location2025.objects.filter(~Q(cp=0), event_name__isnull=False, event_name=name, group__contains=grp)
else:
locs = Location.objects.filter(~Q(cp=0), event_name__isnull=False, event_name=name)
locs = Location2025.objects.filter(~Q(cp=0), event_name__isnull=False, event_name=name)
else:
if grp:
locs = Location.objects.filter(event_name__isnull=False, event_name=name, group__contains=grp, location_name__contains='観光')
locs = Location2025.objects.filter(event_name__isnull=False, event_name=name, group__contains=grp, location_name__contains='観光')
else:
locs = Location.objects.filter(event_name__isnull=False, event_name=name, location_name__contains='観光')
locs = Location2025.objects.filter(event_name__isnull=False, event_name=name, location_name__contains='観光')
serializer = LocationSerializer(locs, many=True)
return JsonResponse(serializer.data, safe=False)
def CustomAreaNames(request):
locs = Location.objects.filter(event_name__isnull=False).values('event_name').distinct()
locs = Location2025.objects.filter(event_name__isnull=False).values('event_name').distinct()
serializer = LocationEventNameSerializer(locs, many=True)
return JsonResponse(serializer.data, safe=False)
@ -2720,7 +2720,7 @@ def get_checkins(request, *args, **kwargs):
data = []
for c in checkins:
location = Location.objects.filter(cp=c.cp_number,group=event_code).first()
location = Location2025.objects.filter(cp=c.cp_number,group=event_code).first()
# チェックイン画像を取得
checkin_image = None

View File

@ -4,7 +4,7 @@ from datetime import datetime, timezone
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status
from rog.models import Location, NewEvent2, Entry, GpsLog
from rog.models import Location2025, NewEvent2, Entry, GpsLog
import logging
import uuid
import os
@ -332,8 +332,8 @@ def add_checkin(request):
# イベントのチェックポイント定義を確認(必要に応じて)
event_cp = None
try:
event_cp = Location.objects.filter(
event=event,
event_cp = Location2025.objects.filter(
event_id=event.id,
cp_number=cp_number
).first()
except:
@ -812,9 +812,9 @@ def calculate_team_score(entry):
# チェックポイントの得点を取得
cp_point = 0
try:
# Location モデルが存在する場合はそこから得点を取得
event_cp = Location.objects.filter(
event=entry.event,
# Location2025 モデルが存在する場合はそこから得点を取得
event_cp = Location2025.objects.filter(
event_id=entry.event.id,
cp_number=cp.cp_number
).first()
if event_cp:
@ -1057,17 +1057,17 @@ def get_checkin_list(request):
"is_service_checked": cp.is_service_checked if hasattr(cp, 'is_service_checked') else False
}
# チェックポイントの得点情報を取得( Location モデルがある場合)
# チェックポイントの得点情報を取得( Location2025 モデルがある場合)
try:
event_cp = Location.objects.filter(
event=event,
event_cp = Location2025.objects.filter(
event_id=event.id,
cp_number=cp.cp_number
).first()
if event_cp:
checkpoint_data["cp_point"] = event_cp.cp_point
checkpoint_data["cp_name"] = event_cp.cp_name
checkpoint_data["is_service_cp"] = event_cp.is_service_cp
checkpoint_data["is_service_cp"] = event_cp.buy_point > 0 # buy_pointが0より大きい場合はサービスポイント
except:
# Location モデルが存在しない場合はスキップ
pass
@ -1327,15 +1327,15 @@ def get_yet_check_service_list(request):
is_service_cp = False
try:
event_cp = Location.objects.filter(
event=event,
event_cp = Location2025.objects.filter(
event_id=event.id,
cp_number=cp.cp_number
).first()
if event_cp and event_cp.is_service_cp:
if event_cp and event_cp.buy_point > 0: # buy_pointが0より大きい場合はサービスポイント
is_service_cp = True
except:
# Location モデルがない場合は、チェックポイントのプロパティだけで判断
# Location2025 モデルがない場合は、チェックポイントのプロパティだけで判断
pass
# サービスチェックが必要なチェックポイントならリストに追加

View File

@ -172,7 +172,7 @@ def get_checkpoint_list(request):
}, status=status.HTTP_404_NOT_FOUND)
# イベントのチェックポイント情報を取得
checkpoints = Location2025.objects.filter(event=event).order_by('cp_number')
checkpoints = Location2025.objects.filter(event_id=event.id).order_by('cp_number')
checkpoint_list = []
for cp in checkpoints:
@ -183,7 +183,7 @@ def get_checkpoint_list(request):
"latitude": cp.latitude,
"longitude": cp.longitude,
"cp_description": cp.description,
"is_service_cp": cp.is_service_cp
"is_service_cp": cp.buy_point > 0 # buy_pointが0より大きい場合はサービスポイント
}
checkpoint_list.append(checkpoint_info)

View File

@ -2,7 +2,7 @@
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status
from rog.models import NewEvent2, Entry, Location, GpsLog
from rog.models import NewEvent2, Entry, Location2025, GpsLog
import logging
from django.db.models import F, Q
from django.conf import settings
@ -166,8 +166,8 @@ def top_users_routes(request):
# チェックポイントの座標情報を取得
try:
event_cp = Location.objects.filter(
event=event,
event_cp = Location2025.objects.filter(
event_id=event.id,
cp_number=cp.cp_number
).first()
@ -469,7 +469,7 @@ def generate_route_image(request):
# チェックポイント情報の取得(座標)
cp_locations = {}
try:
event_cps = Location.objects.filter(event=event)
event_cps = Location2025.objects.filter(event_id=event.id)
for cp in event_cps:
if cp.latitude is not None and cp.longitude is not None:

View File

@ -7,7 +7,7 @@ pip install openpyxl
# 既存のインポート部分に追加
from rest_framework.decorators import api_view
from django.http import HttpResponse, FileResponse
from rog.models import Location, NewEvent2, Entry, GpsLog
from rog.models import Location2025, NewEvent2, Entry, GpsLog
import logging
import openpyxl
from openpyxl.styles import Font, Alignment, PatternFill, Border, Side
@ -96,7 +96,7 @@ def get_scoreboard(request):
# イベントのチェックポイント定義を取得
cp_definitions = {}
try:
event_cps = Location.objects.filter(event=event)
event_cps = Location2025.objects.filter(event_id=event.id)
for cp in event_cps:
cp_definitions[cp.cp_number] = {
@ -106,7 +106,7 @@ def get_scoreboard(request):
'longitude': cp.longitude
}
except:
# Locationモデルが存在しない場合
# Location2025モデルが存在しない場合
pass
# スタート・ゴール情報を取得
@ -457,7 +457,7 @@ def download_scoreboard(request):
# イベントのチェックポイント定義を取得
cp_definitions = {}
try:
event_cps = Location.objects.filter(event=event)
event_cps = Location2025.objects.filter(event_id=event.id)
for cp in event_cps:
cp_definitions[cp.cp_number] = {
@ -467,7 +467,7 @@ def download_scoreboard(request):
'longitude': cp.longitude
}
except:
# Locationモデルが存在しない場合
# Location2025モデルが存在しない場合
pass
# スタート・ゴール情報を取得

View File

@ -2,7 +2,7 @@
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework import status
from rog.models import NewEvent2, Entry, Location, GpsLog
from rog.models import NewEvent2, Entry, Location2025, GpsLog
import logging
from django.db.models import F, Q
from django.conf import settings
@ -362,10 +362,10 @@ def get_route(request):
"is_service_checked": getattr(cp, 'is_service_checked', False)
}
# チェックポイントの座標情報を取得Locationモデルがある場合
# チェックポイントの座標情報を取得Location2025モデルがある場合)
try:
event_cp = Location.objects.filter(
event=event,
event_cp = Location2025.objects.filter(
event_id=event.id,
cp_number=cp.cp_number
).first()
@ -853,8 +853,8 @@ def get_all_routes(request):
# チェックポイントの座標情報を取得
try:
event_cp = Location.objects.filter(
event=event,
event_cp = Location2025.objects.filter(
event_id=event.id,
cp_number=cp.cp_number
).first()