Ошибка GDALException OGR
Я работаю с Django DRF и GeoDjango для простой модели, которая выглядит следующим образом.
class Company(models.Model):
name = models.CharField(max_length=200, default='Company', null=True)
def __unicode__(self):
return self.name
class Shop(models.Model):
name = models.CharField(max_length=200, default="bla")
address = models.CharField(max_length=300, default='blabla')
location = models.PointField(null=True, blank=True, geography=True)
company = models.ForeignKey(
Company, on_delete=models.CASCADE, null=True)
Это его serializer.py
class ShopSerializer(serializers.ModelSerializer):
distance = serializers.DecimalField(
source='distance.km', max_digits=10, decimal_places=2, required=False, read_only=True)
class Meta:
model = Shop
fields = ['id', 'name', 'address', 'location', 'distance']
# read_only_fields = ['distance']
class CompanySerializer(serializers.ModelSerializer):
shop_set = ShopSerializer(many=True)
class Meta:
model = Company
fields = ['id', 'name', 'shop_set']
def create(self, validated_data):
shop_validated_data = validated_data.pop('shop_set')
company = Company.objects.create(**validated_data)
shop_set_serializer = self.fields['shop_set']
for each in shop_validated_data:
each['company'] = company
shops = shop_set_serializer.create(shop_validated_data)
return company
все работает нормально пока не добавлю rest_framework_gis
в моем файле settings.py или добавьте следующую строку в сериализатор моего магазина
serialize('geojson', Shop.objects.all(),
geometry_field='location', fields=('name', 'address'))
В обоих случаях происходит сбой GDALException OGR. Я проверил свои версии GDAL и Python. Оба 64-битные. И python, и GDAL работают нормально.
Что мне здесь в основном нужно сделать, так это преобразовать мое поле POINT в длинный ответ json lat прямо сейчас, ответ такой же (если я не включаю строки, вызывающие ошибку).
{
"id": 1,
"name": "Cosmetica",
"address": "somwhere",
"location": "SRID=4326;POINT (24.896 67.182)"
}
Пожалуйста помоги.