def validate(self, attrs):
su = super().validate(attrs)
try:
longitude = su.get("longitude", self.instance.longitude)
except AttributeError:
longitude = None
try:
latitude = su.get("latitude", self.instance.latitude)
except AttributeError:
latitude = None
if latitude is not None and (latitude > 90 or latitude < -90):
raise ValidationError("Latitude must be between -90 and 90")
if longitude is not None and (longitude > 180 or longitude < -180):
raise ValidationError("Longitude must be between -180 and 180")
if (longitude is None and latitude is not None) or (longitude is not None and latitude is None):
raise ValidationError(
"If longitude is provided then latitude is required and vice versa. Both can be null.")
return su
评论列表
文章目录