1
0
mirror of https://github.com/django/django.git synced 2024-12-30 13:05:45 +00:00
django/tests/gis_tests/geo3d/models.py
Tim Graham fed257ddff Prevented creation of 3D test models if not supported.
There's no problem creating the models on MySQL and Oracle
(which don't support 3D storage) but CockroachDB currently
crashes with a syntax error.
2020-09-15 07:48:48 +02:00

77 lines
1.5 KiB
Python

from django.contrib.gis.db import models
class NamedModel(models.Model):
name = models.CharField(max_length=30)
class Meta:
abstract = True
def __str__(self):
return self.name
class City3D(NamedModel):
point = models.PointField(dim=3)
pointg = models.PointField(dim=3, geography=True)
class Meta:
required_db_features = {'supports_3d_storage'}
class Interstate2D(NamedModel):
line = models.LineStringField(srid=4269)
class Interstate3D(NamedModel):
line = models.LineStringField(dim=3, srid=4269)
class Meta:
required_db_features = {'supports_3d_storage'}
class InterstateProj2D(NamedModel):
line = models.LineStringField(srid=32140)
class InterstateProj3D(NamedModel):
line = models.LineStringField(dim=3, srid=32140)
class Meta:
required_db_features = {'supports_3d_storage'}
class Polygon2D(NamedModel):
poly = models.PolygonField(srid=32140)
class Polygon3D(NamedModel):
poly = models.PolygonField(dim=3, srid=32140)
class Meta:
required_db_features = {'supports_3d_storage'}
class SimpleModel(models.Model):
class Meta:
abstract = True
class Point2D(SimpleModel):
point = models.PointField()
class Point3D(SimpleModel):
point = models.PointField(dim=3)
class Meta:
required_db_features = {'supports_3d_storage'}
class MultiPoint3D(SimpleModel):
mpoint = models.MultiPointField(dim=3)
class Meta:
required_db_features = {'supports_3d_storage'}