我正在为一个新的GeoDjango项目编写测试。通常我使用Factory Boy和Faker来创建测试模型实例。然而,我不清楚如何模拟GeoDjango PointField字段。在查看Spatialite中的记录时,它似乎是一个二进制块。
我对GIS一点也不了解,有些困惑如何在Django中创建PointFields的工厂。
我对GIS一点也不了解,有些困惑如何在Django中创建PointFields的工厂。
# models.py
from django.contrib.gis.db import models
class Place(models.Model):
name = models.CharField(max_length=255)
location = models.PointField(blank=True, null=True)
objects = models.GeoManager()
def __str__(self):
return "%s" % self.name
# factories.py
import factory
from faker import Factory as FakerFactory
from . import models
faker = FakerFactory.create()
class PlaceFactory(factory.django.DjangoModelFactory):
class Meta:
model = models.Place
name = factory.LazyAttribute(lambda x: faker.name())
#location = What do I do?