Implemented geofencing logic for student_status and study_groups with landmark labels

This commit is contained in:
Keannu Christian Bernasol 2023-07-14 23:55:54 +08:00
parent 7938c3ceef
commit a67ea5cd8a
9 changed files with 85 additions and 27 deletions

View file

@ -9,7 +9,7 @@ class StudyGroup(models.Model):
name = models.CharField(max_length=48)
users = models.ManyToManyField(
'student_status.StudentStatus', through='StudyGroupMembership')
location = gis_models.PointField(blank=True, null=True)
location = gis_models.PointField(blank=True, null=True, srid=4326)
subject = models.ForeignKey(Subject, on_delete=models.CASCADE)
active = models.BooleanField(default=False)
timestamp = models.DateField(auto_now_add=True)

View file

@ -2,6 +2,7 @@ from rest_framework import serializers
from .models import StudyGroup, StudyGroupMembership
from accounts.models import CustomUser
from subjects.models import Subject
from drf_extra_fields.geo_fields import PointField
class StudyGroupSerializer(serializers.ModelSerializer):
@ -9,6 +10,7 @@ class StudyGroupSerializer(serializers.ModelSerializer):
queryset=CustomUser.objects.all(), many=True, slug_field='name', required=False, allow_null=True)
subject = serializers.SlugRelatedField(
many=False, slug_field='name', queryset=Subject.objects.all(), required=True, allow_null=False)
location = PointField()
class Meta:
model = StudyGroup