mirror of
https://github.com/django/django.git
synced 2025-08-23 18:29:12 +00:00
Swapped to an allow list instead of a deny list for field types to determine if the UNNEST optimization can be enabled to avoid further surprises with other types that would require further specialization to adapt. Regression in a16eedcf9c69d8a11d94cac1811018c5b996d491. Thanks Joshua Goodwin for the report and Sarah Boyce for the test.
76 lines
1.5 KiB
Python
76 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(null=True)
|
|
|
|
|
|
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"}
|