私が始めた新しい GeoDjango プロジェクトのテストを書いています。通常、私はFactory BoyとFakerを使用して、テスト用のモデル インスタンスを作成しました。ただし、GeoDjango PointField フィールドをモックする方法は明確ではありません。Spacialiteでレコードを見ると、バイナリ ブロブとして表示されます。
私は 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?