text: # -*- coding: utf-8 -*-
  # Generated by Django 1.11.1 on 2018-06-05 22:32
  from __future__ import unicode_literals
  
  import django.contrib.gis.db.models.fields
  from django.db import migrations, models
  import django.db.models.deletion
  import django.utils.timezone
  
  
  class Migration(migrations.Migration):
  
      initial = True
  
      dependencies = [
      ]
  
      operations = [
          migrations.CreateModel(
              name='IdentificationQualifier',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('date_created', models.DateTimeField(default=django.utils.timezone.now, help_text='The date and time this resource was first created.', verbose_name='Created')),
                  ('date_last_modified', models.DateTimeField(default=django.utils.timezone.now, help_text='The date and time this resource was last altered.', verbose_name='Modified')),
                  ('problem', models.BooleanField(default=False, help_text='Is there a problem with this record that needs attention?')),
                  ('problem_comment', models.TextField(blank=True, help_text='Description of the problem.', max_length=255, null=True)),
                  ('remarks', models.TextField(blank=True, help_text='General remarks about this database record.', max_length=500, null=True, verbose_name='Record Remarks')),
                  ('last_import', models.BooleanField(default=False)),
                  ('name', models.CharField(blank=True, max_length=15, unique=True)),
                  ('qualified', models.BooleanField(default=False)),
              ],
              options={
                  'verbose_name': 'WT ID Qualifier',
              },
          ),
          migrations.CreateModel(
              name='Occurrence',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('name', models.CharField(blank=True, max_length=255, null=True)),
                  ('date_created', models.DateTimeField(default=django.utils.timezone.now, help_text='The date and time this resource was first created.', verbose_name='Created')),
                  ('date_last_modified', models.DateTimeField(default=django.utils.timezone.now, help_text='The date and time this resource was last altered.', verbose_name='Modified')),
                  ('problem', models.BooleanField(default=False, help_text='Is there a problem with this record that needs attention?')),
                  ('problem_comment', models.TextField(blank=True, help_text='Description of the problem.', max_length=255, null=True)),
                  ('remarks', models.TextField(blank=True, help_text='General remarks about this database record.', max_length=500, null=True, verbose_name='Record Remarks')),
                  ('last_import', models.BooleanField(default=False)),
                  ('georeference_remarks', models.TextField(blank=True, max_length=500, null=True)),
                  ('geom', django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326)),
                  ('date_recorded', models.DateTimeField(blank=True, help_text='Date and time the item was observed or collected.', null=True, verbose_name='Date Rec')),
                  ('year_collected', models.IntegerField(blank=True, help_text='The year, event or field campaign during which the item was found.', null=True, verbose_name='Year')),
                  ('barcode', models.IntegerField(blank=True, help_text='For collected items only.', null=True, verbose_name='Barcode')),
                  ('field_number', models.CharField(blank=True, max_length=50, null=True)),
                  ('basis_of_record', models.CharField(blank=True, choices=[('FossilSpecimen', 'Fossil'), ('HumanObservation', 'Observation')], max_length=50, verbose_name='Basis of Record')),
                  ('item_type', models.CharField(blank=True, choices=[('Artifactual', 'Artifactual'), ('Faunal', 'Faunal'), ('Floral', 'Floral'), ('Geological', 'Geological')], max_length=255, verbose_name='Item Type')),
                  ('collection_code', models.CharField(blank=True, default='WT', max_length=20, null=True, verbose_name='Collection Code')),
                  ('item_number', models.IntegerField(blank=True, null=True, verbose_name='Item #')),
                  ('item_part', models.CharField(blank=True, max_length=10, null=True, verbose_name='Item Part')),
                  ('catalog_number', models.CharField(blank=True, max_length=255, null=True, verbose_name='Catalog #')),
                  ('item_scientific_name', models.CharField(blank=True, max_length=255, null=True, verbose_name='Sci Name')),
                  ('item_description', models.CharField(blank=True, max_length=255, null=True, verbose_name='Description')),
                  ('collecting_method', models.CharField(choices=[('Surface Standard', 'Surface Standard'), ('Surface Intensive', 'Surface Intensive'), ('Surface Complete', 'Surface Complete'), ('Exploratory Survey', 'Exploratory Survey'), ('Dry Screen 5mm', 'Dry Screen 5mm'), ('Dry Screen 2mm', 'Dry Screen 2mm'), ('Wet Screen 1mm', 'Wet Screen 1mm')], max_length=50, verbose_name='Collecting Method')),
                  ('related_catalog_items', models.CharField(blank=True, max_length=50, null=True, verbose_name='Related Catalog Items')),
                  ('collector', models.CharField(blank=True, choices=[('Carol Ward', 'Carol Ward')], max_length=50, null=True)),
                  ('finder', models.CharField(blank=True, max_length=50, null=True)),
                  ('disposition', models.CharField(blank=True, max_length=255, null=True)),
                  ('field_season', models.CharField(blank=True, max_length=50, null=True)),
                  ('individual_count', models.IntegerField(blank=True, default=1, null=True)),
                  ('preparation_status', models.CharField(blank=True, max_length=50, null=True)),
                  ('stratigraphic_marker_upper', models.CharField(blank=True, max_length=255, null=True)),
                  ('distance_from_upper', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('stratigraphic_marker_lower', models.CharField(blank=True, max_length=255, null=True)),
                  ('distance_from_lower', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('stratigraphic_marker_found', models.CharField(blank=True, max_length=255, null=True)),
                  ('distance_from_found', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('stratigraphic_marker_likely', models.CharField(blank=True, max_length=255, null=True)),
                  ('distance_from_likely', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('stratigraphic_member', models.CharField(blank=True, max_length=255, null=True)),
                  ('analytical_unit', models.CharField(blank=True, max_length=255, null=True, verbose_name='Submember')),
                  ('analytical_unit_2', models.CharField(blank=True, max_length=255, null=True)),
                  ('analytical_unit_3', models.CharField(blank=True, max_length=255, null=True)),
                  ('in_situ', models.BooleanField(default=False)),
                  ('image', models.FileField(blank=True, max_length=255, null=True, upload_to='uploads/images/west_turkana')),
                  ('weathering', models.SmallIntegerField(blank=True, null=True)),
                  ('surface_modification', models.CharField(blank=True, max_length=255, null=True)),
              ],
              options={
                  'verbose_name': 'West Turkana Occurrence',
                  'verbose_name_plural': 'West Turkana Occurrences',
                  'managed': True,
              },
          ),
          migrations.CreateModel(
              name='Taxon',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('name', models.CharField(blank=True, max_length=255, null=True)),
                  ('date_created', models.DateTimeField(default=django.utils.timezone.now, help_text='The date and time this resource was first created.', verbose_name='Created')),
                  ('date_last_modified', models.DateTimeField(default=django.utils.timezone.now, help_text='The date and time this resource was last altered.', verbose_name='Modified')),
                  ('problem', models.BooleanField(default=False, help_text='Is there a problem with this record that needs attention?')),
                  ('problem_comment', models.TextField(blank=True, help_text='Description of the problem.', max_length=255, null=True)),
                  ('remarks', models.TextField(blank=True, help_text='General remarks about this database record.', max_length=500, null=True, verbose_name='Record Remarks')),
                  ('last_import', models.BooleanField(default=False)),
                  ('label', models.CharField(blank=True, max_length=244, null=True)),
                  ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='wt.Taxon')),
              ],
              options={
                  'verbose_name': 'WT Taxon',
                  'verbose_name_plural': 'WT Taxa',
                  'ordering': ['rank__ordinal', 'name'],
              },
          ),
          migrations.CreateModel(
              name='TaxonRank',
              fields=[
                  ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                  ('date_created', models.DateTimeField(default=django.utils.timezone.now, help_text='The date and time this resource was first created.', verbose_name='Created')),
                  ('date_last_modified', models.DateTimeField(default=django.utils.timezone.now, help_text='The date and time this resource was last altered.', verbose_name='Modified')),
                  ('problem', models.BooleanField(default=False, help_text='Is there a problem with this record that needs attention?')),
                  ('problem_comment', models.TextField(blank=True, help_text='Description of the problem.', max_length=255, null=True)),
                  ('remarks', models.TextField(blank=True, help_text='General remarks about this database record.', max_length=500, null=True, verbose_name='Record Remarks')),
                  ('last_import', models.BooleanField(default=False)),
                  ('name', models.CharField(max_length=50, unique=True)),
                  ('plural', models.CharField(max_length=50, unique=True)),
                  ('ordinal', models.IntegerField(unique=True)),
              ],
              options={
                  'verbose_name': 'WT Taxon Rank',
                  'verbose_name_plural': 'WT Taxon Ranks',
              },
          ),
          migrations.CreateModel(
              name='Archaeology',
              fields=[
                  ('occurrence_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wt.Occurrence')),
                  ('find_type', models.CharField(blank=True, max_length=255, null=True)),
                  ('length_mm', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('width_mm', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
              ],
              options={
                  'verbose_name': 'WT Archaeology',
                  'verbose_name_plural': 'WT Archaeology',
              },
              bases=('wt.occurrence',),
          ),
          migrations.CreateModel(
              name='Biology',
              fields=[
                  ('occurrence_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wt.Occurrence')),
                  ('infraspecific_epithet', models.CharField(blank=True, max_length=50, null=True)),
                  ('infraspecific_rank', models.CharField(blank=True, max_length=50, null=True)),
                  ('author_year_of_scientific_name', models.CharField(blank=True, max_length=50, null=True)),
                  ('nomenclatural_code', models.CharField(blank=True, max_length=50, null=True)),
                  ('identified_by', models.CharField(blank=True, max_length=100, null=True)),
                  ('date_identified', models.DateTimeField(blank=True, null=True)),
                  ('type_status', models.CharField(blank=True, max_length=50, null=True)),
                  ('sex', models.CharField(blank=True, max_length=50, null=True)),
                  ('life_stage', models.CharField(blank=True, max_length=50, null=True)),
                  ('preparations', models.CharField(blank=True, max_length=50, null=True)),
                  ('morphobank_number', models.IntegerField(blank=True, null=True)),
                  ('side', models.CharField(blank=True, choices=[('Left', 'Left'), ('Right', 'Right'), ('Both', 'Both'), ('Axial', 'Axial'), ('Unknown', 'Unknown')], max_length=50, null=True)),
                  ('attributes', models.CharField(blank=True, max_length=50, null=True)),
                  ('fauna_notes', models.TextField(blank=True, max_length=64000, null=True)),
                  ('tooth_upper_or_lower', models.CharField(blank=True, max_length=10, null=True)),
                  ('tooth_number', models.CharField(blank=True, max_length=50, null=True)),
                  ('tooth_type', models.CharField(blank=True, max_length=50, null=True)),
                  ('um_tooth_row_length_mm', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('um_1_length_mm', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('um_1_width_mm', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('um_2_length_mm', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('um_2_width_mm', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('um_3_length_mm', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('um_3_width_mm', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('lm_tooth_row_length_mm', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('lm_1_length', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('lm_1_width', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('lm_2_length', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('lm_2_width', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('lm_3_length', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('lm_3_width', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('element', models.CharField(blank=True, max_length=50, null=True)),
                  ('element_modifier', models.CharField(blank=True, max_length=50, null=True)),
                  ('uli1', models.BooleanField(default=False)),
                  ('uli2', models.BooleanField(default=False)),
                  ('uli3', models.BooleanField(default=False)),
                  ('uli4', models.BooleanField(default=False)),
                  ('uli5', models.BooleanField(default=False)),
                  ('uri1', models.BooleanField(default=False)),
                  ('uri2', models.BooleanField(default=False)),
                  ('uri3', models.BooleanField(default=False)),
                  ('uri4', models.BooleanField(default=False)),
                  ('uri5', models.BooleanField(default=False)),
                  ('ulc', models.BooleanField(default=False)),
                  ('urc', models.BooleanField(default=False)),
                  ('ulp1', models.BooleanField(default=False)),
                  ('ulp2', models.BooleanField(default=False)),
                  ('ulp3', models.BooleanField(default=False)),
                  ('ulp4', models.BooleanField(default=False)),
                  ('urp1', models.BooleanField(default=False)),
                  ('urp2', models.BooleanField(default=False)),
                  ('urp3', models.BooleanField(default=False)),
                  ('urp4', models.BooleanField(default=False)),
                  ('ulm1', models.BooleanField(default=False)),
                  ('ulm2', models.BooleanField(default=False)),
                  ('ulm3', models.BooleanField(default=False)),
                  ('urm1', models.BooleanField(default=False)),
                  ('urm2', models.BooleanField(default=False)),
                  ('urm3', models.BooleanField(default=False)),
                  ('lli1', models.BooleanField(default=False)),
                  ('lli2', models.BooleanField(default=False)),
                  ('lli3', models.BooleanField(default=False)),
                  ('lli4', models.BooleanField(default=False)),
                  ('lli5', models.BooleanField(default=False)),
                  ('lri1', models.BooleanField(default=False)),
                  ('lri2', models.BooleanField(default=False)),
                  ('lri3', models.BooleanField(default=False)),
                  ('lri4', models.BooleanField(default=False)),
                  ('lri5', models.BooleanField(default=False)),
                  ('llc', models.BooleanField(default=False)),
                  ('lrc', models.BooleanField(default=False)),
                  ('llp1', models.BooleanField(default=False)),
                  ('llp2', models.BooleanField(default=False)),
                  ('llp3', models.BooleanField(default=False)),
                  ('llp4', models.BooleanField(default=False)),
                  ('lrp1', models.BooleanField(default=False)),
                  ('lrp2', models.BooleanField(default=False)),
                  ('lrp3', models.BooleanField(default=False)),
                  ('lrp4', models.BooleanField(default=False)),
                  ('llm1', models.BooleanField(default=False)),
                  ('llm2', models.BooleanField(default=False)),
                  ('llm3', models.BooleanField(default=False)),
                  ('lrm1', models.BooleanField(default=False)),
                  ('lrm2', models.BooleanField(default=False)),
                  ('lrm3', models.BooleanField(default=False)),
                  ('identification_qualifier', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='west_turkana_biology_occurrences', to='wt.IdentificationQualifier')),
              ],
              options={
                  'verbose_name': 'West Turkana Biology',
                  'verbose_name_plural': 'West Turkana Biology',
              },
              bases=('wt.occurrence',),
          ),
          migrations.CreateModel(
              name='Geology',
              fields=[
                  ('occurrence_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='wt.Occurrence')),
                  ('find_type', models.CharField(blank=True, max_length=255, null=True)),
                  ('dip', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('strike', models.DecimalField(blank=True, decimal_places=8, max_digits=38, null=True)),
                  ('color', models.CharField(blank=True, max_length=255, null=True)),
                  ('texture', models.CharField(blank=True, max_length=255, null=True)),
              ],
              options={
                  'verbose_name': 'WT Geology',
                  'verbose_name_plural': 'WT Geology',
              },
              bases=('wt.occurrence',),
          ),
          migrations.AddField(
              model_name='taxon',
              name='rank',
              field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='wt.TaxonRank'),
          ),
          migrations.AddField(
              model_name='biology',
              name='taxon',
              field=models.ForeignKey(default=0, on_delete=django.db.models.deletion.SET_DEFAULT, related_name='west_turkana_biology_occurrences', to='wt.Taxon'),
          ),
      ]
  