1. from django.contrib.gis.db import models
    
  2. from django.db import connection, migrations
    
  3. 
    
  4. ops = [
    
  5.     migrations.CreateModel(
    
  6.         name="Neighborhood",
    
  7.         fields=[
    
  8.             (
    
  9.                 "id",
    
  10.                 models.AutoField(
    
  11.                     verbose_name="ID",
    
  12.                     serialize=False,
    
  13.                     auto_created=True,
    
  14.                     primary_key=True,
    
  15.                 ),
    
  16.             ),
    
  17.             ("name", models.CharField(max_length=100, unique=True)),
    
  18.             ("geom", models.MultiPolygonField(srid=4326)),
    
  19.         ],
    
  20.         options={},
    
  21.         bases=(models.Model,),
    
  22.     ),
    
  23.     migrations.CreateModel(
    
  24.         name="Household",
    
  25.         fields=[
    
  26.             (
    
  27.                 "id",
    
  28.                 models.AutoField(
    
  29.                     verbose_name="ID",
    
  30.                     serialize=False,
    
  31.                     auto_created=True,
    
  32.                     primary_key=True,
    
  33.                 ),
    
  34.             ),
    
  35.             (
    
  36.                 "neighborhood",
    
  37.                 models.ForeignKey(
    
  38.                     "gis_migrations.Neighborhood",
    
  39.                     models.SET_NULL,
    
  40.                     to_field="id",
    
  41.                     null=True,
    
  42.                 ),
    
  43.             ),
    
  44.             ("address", models.CharField(max_length=100)),
    
  45.             ("zip_code", models.IntegerField(null=True, blank=True)),
    
  46.             ("geom", models.PointField(srid=4326, geography=True)),
    
  47.         ],
    
  48.         options={},
    
  49.         bases=(models.Model,),
    
  50.     ),
    
  51.     migrations.CreateModel(
    
  52.         name="Family",
    
  53.         fields=[
    
  54.             (
    
  55.                 "id",
    
  56.                 models.AutoField(
    
  57.                     verbose_name="ID",
    
  58.                     serialize=False,
    
  59.                     auto_created=True,
    
  60.                     primary_key=True,
    
  61.                 ),
    
  62.             ),
    
  63.             ("name", models.CharField(max_length=100, unique=True)),
    
  64.         ],
    
  65.         options={},
    
  66.         bases=(models.Model,),
    
  67.     ),
    
  68.     migrations.AddField(
    
  69.         model_name="household",
    
  70.         name="family",
    
  71.         field=models.ForeignKey(
    
  72.             "gis_migrations.Family", models.SET_NULL, blank=True, null=True
    
  73.         ),
    
  74.         preserve_default=True,
    
  75.     ),
    
  76. ]
    
  77. 
    
  78. if connection.features.supports_raster:
    
  79.     ops += [
    
  80.         migrations.CreateModel(
    
  81.             name="Heatmap",
    
  82.             fields=[
    
  83.                 (
    
  84.                     "id",
    
  85.                     models.AutoField(
    
  86.                         verbose_name="ID",
    
  87.                         serialize=False,
    
  88.                         auto_created=True,
    
  89.                         primary_key=True,
    
  90.                     ),
    
  91.                 ),
    
  92.                 ("name", models.CharField(max_length=100, unique=True)),
    
  93.                 ("rast", models.fields.RasterField(srid=4326)),
    
  94.             ],
    
  95.             options={},
    
  96.             bases=(models.Model,),
    
  97.         ),
    
  98.     ]
    
  99. 
    
  100. 
    
  101. class Migration(migrations.Migration):
    
  102.     """
    
  103.     Used for gis-specific migration tests.
    
  104.     """
    
  105. 
    
  106.     dependencies = [
    
  107.         ("gis_migrations", "0001_setup_extensions"),
    
  108.     ]
    
  109.     operations = ops