3
我正在爲我開始的一個新的GeoDjango項目編寫測試。通常我使用Factory Boy和Faker來創建用於測試的模型實例。然而,我不清楚你如何模擬GeoDjango PointField字段。在查看Spacialite中的記錄時,它顯示爲二進制塊。使用Factory Boy和GeoDjango PointField
我完全不熟悉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?
如果不固定在工廠的男孩,這結帳擴展模型,媽媽(現在我創建的測試記錄首選庫):這確實https://github.com/sigma-geosistemas/mommy_spatial_generators –