diff options
Diffstat (limited to 'archaeological_finds/migrations/0001_initial.py')
| -rw-r--r-- | archaeological_finds/migrations/0001_initial.py | 900 | 
1 files changed, 713 insertions, 187 deletions
| diff --git a/archaeological_finds/migrations/0001_initial.py b/archaeological_finds/migrations/0001_initial.py index d5f3e804a..a34da2d69 100644 --- a/archaeological_finds/migrations/0001_initial.py +++ b/archaeological_finds/migrations/0001_initial.py @@ -10,7 +10,7 @@ class Migration(SchemaMigration):      depends_on = (          ('archaeological_context_records', '0001_initial.py'),          ('archaeological_warehouse', -         '0011_auto__add_containerlocalisation__add_unique_containerlocalisation_cont.py'), +         '0003_auto__add_warehousedivisionlink__add_unique_warehousedivisionlink_ware.py'),      )      def forwards(self, orm): @@ -18,24 +18,75 @@ class Migration(SchemaMigration):          db.create_table('archaeological_finds_materialtype', (              ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),              ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), -            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)), +            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=100)),              ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -            ('available', self.gf('django.db.models.fields.BooleanField')(default=False)), -            ('recommendation', self.gf('django.db.models.fields.TextField')()), +            ('available', self.gf('django.db.models.fields.BooleanField')(default=True)), +            ('code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)), +            ('recommendation', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),              ('parent', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.MaterialType'], null=True, blank=True)),          ))          db.send_create_signal('archaeological_finds', ['MaterialType']) +        # Adding model 'ConservatoryState' +        db.create_table('archaeological_finds_conservatorystate', ( +            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), +            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=100)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('available', self.gf('django.db.models.fields.BooleanField')(default=True)), +            ('parent', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.ConservatoryState'], null=True, blank=True)), +        )) +        db.send_create_signal('archaeological_finds', ['ConservatoryState']) + +        # Adding model 'PreservationType' +        db.create_table('archaeological_finds_preservationtype', ( +            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), +            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=100)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('available', self.gf('django.db.models.fields.BooleanField')(default=True)), +        )) +        db.send_create_signal('archaeological_finds', ['PreservationType']) + +        # Adding model 'IntegrityType' +        db.create_table('archaeological_finds_integritytype', ( +            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), +            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=100)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('available', self.gf('django.db.models.fields.BooleanField')(default=True)), +        )) +        db.send_create_signal('archaeological_finds', ['IntegrityType']) + +        # Adding model 'ObjectType' +        db.create_table('archaeological_finds_objecttype', ( +            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), +            ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), +            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=100)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('available', self.gf('django.db.models.fields.BooleanField')(default=True)), +            ('parent', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.ObjectType'], null=True, blank=True)), +        )) +        db.send_create_signal('archaeological_finds', ['ObjectType']) +          # Adding model 'HistoricalBaseFind'          db.create_table('archaeological_finds_historicalbasefind', (              ('id', self.gf('django.db.models.fields.IntegerField')(db_index=True, blank=True)),              ('history_modifier_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('label', self.gf('django.db.models.fields.CharField')(max_length=60)), -            ('description', self.gf('django.db.models.fields.TextField')()), +            ('history_creator_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('label', self.gf('django.db.models.fields.TextField')()), +            ('external_id', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)), +            ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('topographic_localisation', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)), +            ('special_interest', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)),              ('context_record_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('is_isolated', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), +            ('discovery_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('batch', self.gf('django.db.models.fields.CharField')(default='U', max_length=1)),              ('index', self.gf('django.db.models.fields.IntegerField')(default=0)),              ('material_index', self.gf('django.db.models.fields.IntegerField')(default=0)), +            ('cache_short_id', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('cache_complete_id', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),              ('history_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),              ('history_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),              ('history_user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)), @@ -46,31 +97,63 @@ class Migration(SchemaMigration):          # Adding model 'BaseFind'          db.create_table('archaeological_finds_basefind', (              ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])), -            ('label', self.gf('django.db.models.fields.CharField')(max_length=60)), -            ('description', self.gf('django.db.models.fields.TextField')()), +            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, on_delete=models.SET_NULL, to=orm['auth.User'])), +            ('history_creator', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, on_delete=models.SET_NULL, to=orm['auth.User'])), +            ('label', self.gf('django.db.models.fields.TextField')()), +            ('external_id', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)), +            ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('topographic_localisation', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)), +            ('special_interest', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)),              ('context_record', self.gf('django.db.models.fields.related.ForeignKey')(related_name='base_finds', to=orm['archaeological_context_records.ContextRecord'])), -            ('is_isolated', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), +            ('discovery_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('batch', self.gf('django.db.models.fields.CharField')(default='U', max_length=1)),              ('index', self.gf('django.db.models.fields.IntegerField')(default=0)),              ('material_index', self.gf('django.db.models.fields.IntegerField')(default=0)), +            ('cache_short_id', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('cache_complete_id', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),          ))          db.send_create_signal('archaeological_finds', ['BaseFind']) +        # Adding M2M table for field imports on 'BaseFind' +        db.create_table('archaeological_finds_basefind_imports', ( +            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), +            ('basefind', models.ForeignKey(orm['archaeological_finds.basefind'], null=False)), +            ('import', models.ForeignKey(orm['ishtar_common.import'], null=False)) +        )) +        db.create_unique('archaeological_finds_basefind_imports', ['basefind_id', 'import_id']) +          # Adding model 'HistoricalFind'          db.create_table('archaeological_finds_historicalfind', (              ('id', self.gf('django.db.models.fields.IntegerField')(db_index=True, blank=True)), +            ('image', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True, blank=True)), +            ('thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True, blank=True)),              ('history_modifier_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('order', self.gf('django.db.models.fields.IntegerField')()), -            ('label', self.gf('django.db.models.fields.CharField')(max_length=60)), +            ('history_creator_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('external_id', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)), +            ('order', self.gf('django.db.models.fields.IntegerField')(default=1)), +            ('label', self.gf('django.db.models.fields.TextField')()),              ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -            ('material_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('conservatory_state_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),              ('volume', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)),              ('weight', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), +            ('weight_unit', self.gf('django.db.models.fields.CharField')(max_length=4, null=True, blank=True)),              ('find_number', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),              ('upstream_treatment_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),              ('downstream_treatment_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), -            ('dating_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),              ('container_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('is_complete', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), +            ('length', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), +            ('width', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), +            ('height', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), +            ('diameter', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), +            ('mark', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('dating_comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('previous_id', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('index', self.gf('django.db.models.fields.IntegerField')(default=0)), +            ('checked', self.gf('django.db.models.fields.CharField')(default='NC', max_length=2)), +            ('check_date', self.gf('django.db.models.fields.DateField')(default=datetime.date.today)),              ('history_id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),              ('history_date', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),              ('history_user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], null=True)), @@ -81,21 +164,45 @@ class Migration(SchemaMigration):          # Adding model 'Find'          db.create_table('archaeological_finds_find', (              ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])), -            ('order', self.gf('django.db.models.fields.IntegerField')()), -            ('label', self.gf('django.db.models.fields.CharField')(max_length=60)), +            ('image', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True, blank=True)), +            ('thumbnail', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True, blank=True)), +            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, on_delete=models.SET_NULL, to=orm['auth.User'])), +            ('history_creator', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, on_delete=models.SET_NULL, to=orm['auth.User'])), +            ('external_id', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)), +            ('order', self.gf('django.db.models.fields.IntegerField')(default=1)), +            ('label', self.gf('django.db.models.fields.TextField')()),              ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -            ('material_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.MaterialType'])), +            ('conservatory_state', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.ConservatoryState'], null=True, blank=True)),              ('volume', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)),              ('weight', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), +            ('weight_unit', self.gf('django.db.models.fields.CharField')(max_length=4, null=True, blank=True)),              ('find_number', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)),              ('upstream_treatment', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='downstream_treatment', null=True, to=orm['archaeological_finds.Treatment'])),              ('downstream_treatment', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='upstream_treatment', null=True, to=orm['archaeological_finds.Treatment'])), -            ('dating', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_context_records.Dating'])),              ('container', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='finds', null=True, to=orm['archaeological_warehouse.Container'])), +            ('is_complete', self.gf('django.db.models.fields.NullBooleanField')(null=True, blank=True)), +            ('length', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), +            ('width', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), +            ('height', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), +            ('diameter', self.gf('django.db.models.fields.FloatField')(null=True, blank=True)), +            ('mark', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('dating_comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('previous_id', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('index', self.gf('django.db.models.fields.IntegerField')(default=0)), +            ('checked', self.gf('django.db.models.fields.CharField')(default='NC', max_length=2)), +            ('check_date', self.gf('django.db.models.fields.DateField')(default=datetime.date.today)),          ))          db.send_create_signal('archaeological_finds', ['Find']) +        # Adding M2M table for field imports on 'Find' +        db.create_table('archaeological_finds_find_imports', ( +            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), +            ('find', models.ForeignKey(orm['archaeological_finds.find'], null=False)), +            ('import', models.ForeignKey(orm['ishtar_common.import'], null=False)) +        )) +        db.create_unique('archaeological_finds_find_imports', ['find_id', 'import_id']) +          # Adding M2M table for field base_finds on 'Find'          db.create_table('archaeological_finds_find_base_finds', (              ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), @@ -104,14 +211,66 @@ class Migration(SchemaMigration):          ))          db.create_unique('archaeological_finds_find_base_finds', ['find_id', 'basefind_id']) +        # Adding M2M table for field material_types on 'Find' +        db.create_table('archaeological_finds_find_material_types', ( +            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), +            ('find', models.ForeignKey(orm['archaeological_finds.find'], null=False)), +            ('materialtype', models.ForeignKey(orm['archaeological_finds.materialtype'], null=False)) +        )) +        db.create_unique('archaeological_finds_find_material_types', ['find_id', 'materialtype_id']) + +        # Adding M2M table for field preservation_to_considers on 'Find' +        db.create_table('archaeological_finds_find_preservation_to_considers', ( +            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), +            ('find', models.ForeignKey(orm['archaeological_finds.find'], null=False)), +            ('preservationtype', models.ForeignKey(orm['archaeological_finds.preservationtype'], null=False)) +        )) +        db.create_unique('archaeological_finds_find_preservation_to_considers', ['find_id', 'preservationtype_id']) + +        # Adding M2M table for field datings on 'Find' +        db.create_table('archaeological_finds_find_datings', ( +            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), +            ('find', models.ForeignKey(orm['archaeological_finds.find'], null=False)), +            ('dating', models.ForeignKey(orm['archaeological_context_records.dating'], null=False)) +        )) +        db.create_unique('archaeological_finds_find_datings', ['find_id', 'dating_id']) + +        # Adding M2M table for field object_types on 'Find' +        db.create_table('archaeological_finds_find_object_types', ( +            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), +            ('find', models.ForeignKey(orm['archaeological_finds.find'], null=False)), +            ('objecttype', models.ForeignKey(orm['archaeological_finds.objecttype'], null=False)) +        )) +        db.create_unique('archaeological_finds_find_object_types', ['find_id', 'objecttype_id']) + +        # Adding M2M table for field integrities on 'Find' +        db.create_table('archaeological_finds_find_integrities', ( +            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), +            ('find', models.ForeignKey(orm['archaeological_finds.find'], null=False)), +            ('integritytype', models.ForeignKey(orm['archaeological_finds.integritytype'], null=False)) +        )) +        db.create_unique('archaeological_finds_find_integrities', ['find_id', 'integritytype_id']) +          # Adding model 'FindSource'          db.create_table('archaeological_finds_findsource', (              ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('title', self.gf('django.db.models.fields.CharField')(max_length=200)), +            ('title', self.gf('django.db.models.fields.CharField')(max_length=300)), +            ('external_id', self.gf('django.db.models.fields.CharField')(max_length=12, null=True, blank=True)),              ('source_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.SourceType'])), +            ('support_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.SupportType'], null=True, blank=True)), +            ('format_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Format'], null=True, blank=True)), +            ('scale', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),              ('associated_url', self.gf('django.db.models.fields.URLField')(max_length=200, null=True, blank=True)),              ('receipt_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),              ('creation_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('receipt_date_in_documentation', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('item_number', self.gf('django.db.models.fields.IntegerField')(default=1)), +            ('reference', self.gf('django.db.models.fields.CharField')(max_length=100, null=True, blank=True)), +            ('internal_reference', self.gf('django.db.models.fields.CharField')(max_length=100, null=True, blank=True)), +            ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('additional_information', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('duplicate', self.gf('django.db.models.fields.BooleanField')(default=False)),              ('find', self.gf('django.db.models.fields.related.ForeignKey')(related_name='source', to=orm['archaeological_finds.Find'])),          ))          db.send_create_signal('archaeological_finds', ['FindSource']) @@ -128,9 +287,9 @@ class Migration(SchemaMigration):          db.create_table('archaeological_finds_treatmenttype', (              ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),              ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), -            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)), +            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=100)),              ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -            ('available', self.gf('django.db.models.fields.BooleanField')(default=False)), +            ('available', self.gf('django.db.models.fields.BooleanField')(default=True)),              ('virtual', self.gf('django.db.models.fields.BooleanField')(default=False)),          ))          db.send_create_signal('archaeological_finds', ['TreatmentType']) @@ -139,10 +298,14 @@ class Migration(SchemaMigration):          db.create_table('archaeological_finds_historicaltreatment', (              ('id', self.gf('django.db.models.fields.IntegerField')(db_index=True, blank=True)),              ('history_modifier_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('history_creator_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('external_id', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)),              ('container_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),              ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),              ('treatment_type_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),              ('location_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)), +            ('other_location', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)),              ('person_id', self.gf('django.db.models.fields.IntegerField')(db_index=True, null=True, blank=True)),              ('start_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),              ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), @@ -156,25 +319,49 @@ class Migration(SchemaMigration):          # Adding model 'Treatment'          db.create_table('archaeological_finds_treatment', (              ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])), +            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, on_delete=models.SET_NULL, to=orm['auth.User'])), +            ('history_creator', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, on_delete=models.SET_NULL, to=orm['auth.User'])), +            ('external_id', self.gf('django.db.models.fields.CharField')(max_length=120, null=True, blank=True)),              ('container', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.Container'], null=True, blank=True)),              ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),              ('treatment_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.TreatmentType'])),              ('location', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.Warehouse'], null=True, blank=True)), -            ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'], null=True, blank=True)), +            ('other_location', self.gf('django.db.models.fields.CharField')(max_length=200, null=True, blank=True)), +            ('person', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='treatments', null=True, on_delete=models.SET_NULL, to=orm['ishtar_common.Person'])),              ('start_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),              ('end_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),          ))          db.send_create_signal('archaeological_finds', ['Treatment']) +        # Adding M2M table for field imports on 'Treatment' +        db.create_table('archaeological_finds_treatment_imports', ( +            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), +            ('treatment', models.ForeignKey(orm['archaeological_finds.treatment'], null=False)), +            ('import', models.ForeignKey(orm['ishtar_common.import'], null=False)) +        )) +        db.create_unique('archaeological_finds_treatment_imports', ['treatment_id', 'import_id']) +          # Adding model 'TreatmentSource'          db.create_table('archaeological_finds_treatmentsource', (              ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('title', self.gf('django.db.models.fields.CharField')(max_length=200)), +            ('title', self.gf('django.db.models.fields.CharField')(max_length=300)), +            ('external_id', self.gf('django.db.models.fields.CharField')(max_length=12, null=True, blank=True)),              ('source_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.SourceType'])), +            ('support_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.SupportType'], null=True, blank=True)), +            ('format_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Format'], null=True, blank=True)), +            ('scale', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)),              ('associated_url', self.gf('django.db.models.fields.URLField')(max_length=200, null=True, blank=True)),              ('receipt_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),              ('creation_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('receipt_date_in_documentation', self.gf('django.db.models.fields.DateField')(null=True, blank=True)), +            ('item_number', self.gf('django.db.models.fields.IntegerField')(default=1)), +            ('reference', self.gf('django.db.models.fields.CharField')(max_length=100, null=True, blank=True)), +            ('internal_reference', self.gf('django.db.models.fields.CharField')(max_length=100, null=True, blank=True)), +            ('description', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('additional_information', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), +            ('duplicate', self.gf('django.db.models.fields.BooleanField')(default=False)),              ('treatment', self.gf('django.db.models.fields.related.ForeignKey')(related_name='source', to=orm['archaeological_finds.Treatment'])),          ))          db.send_create_signal('archaeological_finds', ['TreatmentSource']) @@ -190,36 +377,78 @@ class Migration(SchemaMigration):          # Adding model 'Property'          db.create_table('archaeological_finds_property', (              ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])), +            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, on_delete=models.SET_NULL, to=orm['auth.User'])), +            ('history_creator', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, on_delete=models.SET_NULL, to=orm['auth.User'])),              ('history_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)),              ('find', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_finds.Find'])),              ('administrative_act', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_operations.AdministrativeAct'])), -            ('person', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'])), +            ('person', self.gf('django.db.models.fields.related.ForeignKey')(related_name='properties', to=orm['ishtar_common.Person'])),              ('start_date', self.gf('django.db.models.fields.DateField')()),              ('end_date', self.gf('django.db.models.fields.DateField')()),          ))          db.send_create_signal('archaeological_finds', ['Property']) +        # Adding M2M table for field imports on 'Property' +        db.create_table('archaeological_finds_property_imports', ( +            ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), +            ('property', models.ForeignKey(orm['archaeological_finds.property'], null=False)), +            ('import', models.ForeignKey(orm['ishtar_common.import'], null=False)) +        )) +        db.create_unique('archaeological_finds_property_imports', ['property_id', 'import_id']) +      def backwards(self, orm):          # Deleting model 'MaterialType'          db.delete_table('archaeological_finds_materialtype') +        # Deleting model 'ConservatoryState' +        db.delete_table('archaeological_finds_conservatorystate') + +        # Deleting model 'PreservationType' +        db.delete_table('archaeological_finds_preservationtype') + +        # Deleting model 'IntegrityType' +        db.delete_table('archaeological_finds_integritytype') + +        # Deleting model 'ObjectType' +        db.delete_table('archaeological_finds_objecttype') +          # Deleting model 'HistoricalBaseFind'          db.delete_table('archaeological_finds_historicalbasefind')          # Deleting model 'BaseFind'          db.delete_table('archaeological_finds_basefind') +        # Removing M2M table for field imports on 'BaseFind' +        db.delete_table('archaeological_finds_basefind_imports') +          # Deleting model 'HistoricalFind'          db.delete_table('archaeological_finds_historicalfind')          # Deleting model 'Find'          db.delete_table('archaeological_finds_find') +        # Removing M2M table for field imports on 'Find' +        db.delete_table('archaeological_finds_find_imports') +          # Removing M2M table for field base_finds on 'Find'          db.delete_table('archaeological_finds_find_base_finds') +        # Removing M2M table for field material_types on 'Find' +        db.delete_table('archaeological_finds_find_material_types') + +        # Removing M2M table for field preservation_to_considers on 'Find' +        db.delete_table('archaeological_finds_find_preservation_to_considers') + +        # Removing M2M table for field datings on 'Find' +        db.delete_table('archaeological_finds_find_datings') + +        # Removing M2M table for field object_types on 'Find' +        db.delete_table('archaeological_finds_find_object_types') + +        # Removing M2M table for field integrities on 'Find' +        db.delete_table('archaeological_finds_find_integrities') +          # Deleting model 'FindSource'          db.delete_table('archaeological_finds_findsource') @@ -235,6 +464,9 @@ class Migration(SchemaMigration):          # Deleting model 'Treatment'          db.delete_table('archaeological_finds_treatment') +        # Removing M2M table for field imports on 'Treatment' +        db.delete_table('archaeological_finds_treatment_imports') +          # Deleting model 'TreatmentSource'          db.delete_table('archaeological_finds_treatmentsource') @@ -244,34 +476,44 @@ class Migration(SchemaMigration):          # Deleting model 'Property'          db.delete_table('archaeological_finds_property') +        # Removing M2M table for field imports on 'Property' +        db.delete_table('archaeological_finds_property_imports') +      models = {          'archaeological_context_records.activitytype': { -            'Meta': {'object_name': 'ActivityType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('order',)", 'object_name': 'ActivityType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),              'order': ('django.db.models.fields.IntegerField', [], {}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'archaeological_context_records.contextrecord': {              'Meta': {'object_name': 'ContextRecord'},              'activity': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.ActivityType']", 'null': 'True', 'blank': 'True'}), +            'closing_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'datings': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_context_records.Dating']", 'symmetrical': 'False'}),              'depth': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),              'filling': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'has_furniture': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'identification': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.IdentificationType']", 'null': 'True', 'blank': 'True'}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_context_records_contextrecord'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),              'interpretation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '200'}),              'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'location': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'opening_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),              'operation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Operation']"}),              'parcel': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'context_record'", 'to': "orm['archaeological_operations.Parcel']"}), +            'related_context_records': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_context_records.ContextRecord']", 'null': 'True', 'through': "orm['archaeological_context_records.RecordRelations']", 'blank': 'True'}),              'taq': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'taq_estimated': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'thickness': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), @@ -286,139 +528,238 @@ class Migration(SchemaMigration):              'end_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'period': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']"}), +            'precise_dating': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'quality': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.DatingQuality']", 'null': 'True', 'blank': 'True'}),              'start_date': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})          },          'archaeological_context_records.datingquality': { -            'Meta': {'object_name': 'DatingQuality'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('label',)", 'object_name': 'DatingQuality'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'archaeological_context_records.datingtype': { -            'Meta': {'object_name': 'DatingType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('label',)", 'object_name': 'DatingType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'archaeological_context_records.identificationtype': { -            'Meta': {'object_name': 'IdentificationType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('order',)", 'object_name': 'IdentificationType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),              'order': ('django.db.models.fields.IntegerField', [], {}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        }, +        'archaeological_context_records.recordrelations': { +            'Meta': {'object_name': 'RecordRelations'}, +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'left_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'right_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"}), +            'relation_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']"}), +            'right_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'left_relations'", 'to': "orm['archaeological_context_records.ContextRecord']"}) +        }, +        'archaeological_context_records.relationtype': { +            'Meta': {'ordering': "('order',)", 'object_name': 'RelationType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'inverse_relation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.RelationType']", 'null': 'True', 'blank': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), +            'symmetrical': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'archaeological_context_records.unit': { -            'Meta': {'object_name': 'Unit'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('order',)", 'object_name': 'Unit'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),              'order': ('django.db.models.fields.IntegerField', [], {}),              'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.Unit']", 'null': 'True', 'blank': 'True'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'archaeological_files.file': { -            'Meta': {'ordering': "['-year', '-numeric_reference']", 'object_name': 'File'}, +            'Meta': {'ordering': "('cached_label',)", 'object_name': 'File'},              'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'cached_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'cira_advised': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), +            'classified_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), +            'corporation_general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), +            'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today', 'null': 'True', 'blank': 'True'}), +            'departments': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.Department']", 'null': 'True', 'blank': 'True'}),              'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),              'file_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.FileType']"}), -            'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'general_contractor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'general_contractor_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.Person']"}), -            'internal_reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60'}), -            'numeric_reference': ('django.db.models.fields.IntegerField', [], {}), -            'permit_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}), +            'imported_line': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_files_file'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), +            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), +            'instruction_deadline': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '60', 'null': 'True', 'blank': 'True'}), +            'locality': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'main_town': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'file_main'", 'null': 'True', 'to': "orm['ishtar_common.Town']"}), +            'mh_listing': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), +            'mh_register': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), +            'name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'numeric_reference': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'organization': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), +            'permit_reference': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'permit_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.PermitType']", 'null': 'True', 'blank': 'True'}), +            'planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),              'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), +            'protected_area': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), +            'raw_general_contractor': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'raw_town_planning_service': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),              'reception_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'reference_number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'related_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.File']", 'null': 'True', 'blank': 'True'}), +            'requested_operation_type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.OperationType']"}), +            'research_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'responsible_town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'responsible_town_planning_service_files'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),              'saisine_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_files.SaisineType']", 'null': 'True', 'blank': 'True'}), +            'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),              'total_developed_surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'total_surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'town_planning_service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}),              'towns': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'file'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Town']"}), -            'year': ('django.db.models.fields.IntegerField', [], {'default': '2012'}) +            'year': ('django.db.models.fields.IntegerField', [], {'default': '2016'})          },          'archaeological_files.filetype': { -            'Meta': {'object_name': 'FileType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('label',)", 'object_name': 'FileType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'archaeological_files.permittype': { -            'Meta': {'object_name': 'PermitType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('label',)", 'object_name': 'PermitType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'archaeological_files.saisinetype': { -            'Meta': {'object_name': 'SaisineType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('label',)", 'object_name': 'SaisineType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'delay': ('django.db.models.fields.IntegerField', [], {}), +            'delay': ('django.db.models.fields.IntegerField', [], {'default': '30'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'archaeological_finds.basefind': {              'Meta': {'object_name': 'BaseFind'}, +            'batch': ('django.db.models.fields.CharField', [], {'default': "'U'", 'max_length': '1'}), +            'cache_complete_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'cache_short_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'context_record': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'base_finds'", 'to': "orm['archaeological_context_records.ContextRecord']"}), -            'description': ('django.db.models.fields.TextField', [], {}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'discovery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_basefind'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),              'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), -            'is_isolated': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '60'}), -            'material_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}) +            'label': ('django.db.models.fields.TextField', [], {}), +            'material_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), +            'special_interest': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), +            'topographic_localisation': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}) +        }, +        'archaeological_finds.conservatorystate': { +            'Meta': {'ordering': "('label',)", 'object_name': 'ConservatoryState'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.ConservatoryState']", 'null': 'True', 'blank': 'True'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'archaeological_finds.find': {              'Meta': {'object_name': 'Find'},              'base_finds': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.BaseFind']"}), +            'check_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), +            'checked': ('django.db.models.fields.CharField', [], {'default': "'NC'", 'max_length': '2'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'conservatory_state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.ConservatoryState']", 'null': 'True', 'blank': 'True'}),              'container': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'finds'", 'null': 'True', 'to': "orm['archaeological_warehouse.Container']"}), -            'dating': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_context_records.Dating']"}), +            'dating_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'datings': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_context_records.Dating']"}),              'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),              'downstream_treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'upstream_treatment'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}), +            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),              'find_number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'height': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '60'}), -            'material_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.MaterialType']"}), -            'order': ('django.db.models.fields.IntegerField', [], {}), +            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_find'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), +            'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), +            'integrities': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.IntegrityType']"}), +            'is_complete': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), +            'label': ('django.db.models.fields.TextField', [], {}), +            'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), +            'mark': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'material_types': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'finds'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.MaterialType']"}), +            'object_types': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'find'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.ObjectType']"}), +            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), +            'preservation_to_considers': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'finds'", 'symmetrical': 'False', 'to': "orm['archaeological_finds.PreservationType']"}), +            'previous_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),              'upstream_treatment': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'downstream_treatment'", 'null': 'True', 'to': "orm['archaeological_finds.Treatment']"}),              'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'weight': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}) +            'weight': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), +            'weight_unit': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}), +            'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})          },          'archaeological_finds.findsource': {              'Meta': {'object_name': 'FindSource'}, +            'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.Author']", 'symmetrical': 'False'}), +            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'findsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}),              'find': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_finds.Find']"}), +            'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),              'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),              'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}), -            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}) +            'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}), +            'title': ('django.db.models.fields.CharField', [], {'max_length': '300'})          },          'archaeological_finds.historicalbasefind': {              'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalBaseFind'}, +            'batch': ('django.db.models.fields.CharField', [], {'default': "'U'", 'max_length': '1'}), +            'cache_complete_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'cache_short_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'context_record_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'description': ('django.db.models.fields.TextField', [], {}), +            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'discovery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), +            'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),              'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),              'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), @@ -426,35 +767,55 @@ class Migration(SchemaMigration):              'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),              'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),              'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), -            'is_isolated': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '60'}), -            'material_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}) +            'label': ('django.db.models.fields.TextField', [], {}), +            'material_index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), +            'special_interest': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), +            'topographic_localisation': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'})          },          'archaeological_finds.historicalfind': {              'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalFind'}, +            'check_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), +            'checked': ('django.db.models.fields.CharField', [], {'default': "'NC'", 'max_length': '2'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'conservatory_state_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),              'container_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'dating_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'dating_comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'diameter': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),              'downstream_treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}),              'find_number': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'height': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), +            'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),              'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),              'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),              'history_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),              'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),              'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '60'}), -            'material_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), -            'order': ('django.db.models.fields.IntegerField', [], {}), +            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'index': ('django.db.models.fields.IntegerField', [], {'default': '0'}), +            'is_complete': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), +            'label': ('django.db.models.fields.TextField', [], {}), +            'length': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), +            'mark': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), +            'previous_id': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'thumbnail': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),              'upstream_treatment_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),              'volume': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), -            'weight': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}) +            'weight': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), +            'weight_unit': ('django.db.models.fields.CharField', [], {'max_length': '4', 'null': 'True', 'blank': 'True'}), +            'width': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'})          },          'archaeological_finds.historicaltreatment': {              'Meta': {'ordering': "('-history_date', '-history_id')", 'object_name': 'HistoricalTreatment'}, +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'container_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),              'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), +            'history_creator_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),              'history_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),              'history_id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'history_modifier_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), @@ -462,141 +823,218 @@ class Migration(SchemaMigration):              'history_user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True'}),              'id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'blank': 'True'}),              'location_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}), +            'other_location': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),              'person_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),              'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),              'treatment_type_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'})          }, +        'archaeological_finds.integritytype': { +            'Meta': {'ordering': "('label',)", 'object_name': 'IntegrityType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        },          'archaeological_finds.materialtype': { -            'Meta': {'object_name': 'MaterialType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('label',)", 'object_name': 'MaterialType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),              'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.MaterialType']", 'null': 'True', 'blank': 'True'}), -            'recommendation': ('django.db.models.fields.TextField', [], {}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'recommendation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        }, +        'archaeological_finds.objecttype': { +            'Meta': {'ordering': "('parent__label', 'label')", 'object_name': 'ObjectType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.ObjectType']", 'null': 'True', 'blank': 'True'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        }, +        'archaeological_finds.preservationtype': { +            'Meta': {'ordering': "('label',)", 'object_name': 'PreservationType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'archaeological_finds.property': {              'Meta': {'object_name': 'Property'},              'administrative_act': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.AdministrativeAct']"}),              'end_date': ('django.db.models.fields.DateField', [], {}),              'find': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.Find']"}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']"}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_property'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), +            'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'properties'", 'to': "orm['ishtar_common.Person']"}),              'start_date': ('django.db.models.fields.DateField', [], {})          },          'archaeological_finds.treatment': {              'Meta': {'object_name': 'Treatment'}, +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'container': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Container']", 'null': 'True', 'blank': 'True'}),              'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_finds_treatment'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),              'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']", 'null': 'True', 'blank': 'True'}), -            'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']", 'null': 'True', 'blank': 'True'}), +            'other_location': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'person': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'treatments'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),              'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),              'treatment_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_finds.TreatmentType']"})          },          'archaeological_finds.treatmentsource': {              'Meta': {'object_name': 'TreatmentSource'}, +            'additional_information': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'associated_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), -            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.Author']", 'symmetrical': 'False'}), +            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'treatmentsource_related'", 'symmetrical': 'False', 'to': "orm['ishtar_common.Author']"}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'creation_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'duplicate': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '12', 'null': 'True', 'blank': 'True'}), +            'format_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Format']", 'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'internal_reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'item_number': ('django.db.models.fields.IntegerField', [], {'default': '1'}),              'receipt_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'receipt_date_in_documentation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'reference': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'scale': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),              'source_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SourceType']"}), -            'title': ('django.db.models.fields.CharField', [], {'max_length': '200'}), +            'support_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.SupportType']", 'null': 'True', 'blank': 'True'}), +            'title': ('django.db.models.fields.CharField', [], {'max_length': '300'}),              'treatment': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'source'", 'to': "orm['archaeological_finds.Treatment']"})          },          'archaeological_finds.treatmenttype': { -            'Meta': {'object_name': 'TreatmentType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('label',)", 'object_name': 'TreatmentType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}),              'virtual': ('django.db.models.fields.BooleanField', [], {'default': 'False'})          },          'archaeological_operations.acttype': { -            'Meta': {'object_name': 'ActType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('label',)", 'object_name': 'ActType'}, +            'associated_template': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'acttypes'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.DocumentTemplate']"}), +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'indexed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),              'intented_to': ('django.db.models.fields.CharField', [], {'max_length': '1'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'archaeological_operations.administrativeact': { -            'Meta': {'object_name': 'AdministrativeAct'}, -            'act_object': ('django.db.models.fields.CharField', [], {'max_length': '200'}), +            'Meta': {'ordering': "('year', 'signature_date', 'index', 'act_type')", 'object_name': 'AdministrativeAct'}, +            'act_object': ('django.db.models.fields.TextField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),              'act_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ActType']"}),              'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'departments_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_administrativeact'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), +            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operation_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), +            'index': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'administrative_act'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), -            'operator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Organization']", 'null': 'True', 'blank': 'True'}), -            'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15'}), -            'scientific': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), -            'signatory': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), -            'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}) +            'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}), +            'ref_sra': ('django.db.models.fields.CharField', [], {'max_length': '15', 'null': 'True', 'blank': 'True'}), +            'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'adminact_scientist'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), +            'signatory': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'signatory'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}), +            'signature_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'towns_label': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) +        }, +        'archaeological_operations.archaeologicalsite': { +            'Meta': {'object_name': 'ArchaeologicalSite'}, +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_archaeologicalsite'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), +            'reference': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20'}), +            'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'})          },          'archaeological_operations.operation': { -            'Meta': {'object_name': 'Operation'}, +            'Meta': {'ordering': "('cached_label',)", 'object_name': 'Operation'}, +            'archaeological_sites': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.ArchaeologicalSite']", 'null': 'True', 'blank': 'True'}),              'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operations'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), +            'cached_label': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), +            'cira_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'cira_rapporteur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'cira_rapporteur'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),              'code_dracar': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'code_patriarche': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'code_patriarche': ('django.db.models.fields.IntegerField', [], {'unique': 'True', 'null': 'True', 'blank': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'common_name': ('django.db.models.fields.CharField', [], {'max_length': '120', 'null': 'True', 'blank': 'True'}), +            'common_name': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'creation_date': ('django.db.models.fields.DateField', [], {'default': 'datetime.date.today'}), +            'eas_number': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),              'effective_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),              'excavation_end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),              'fnap_cost': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'fnap_financing': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),              'geoarchaeological_context_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_operation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), +            'in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),              'large_area_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), -            'operation_code': ('django.db.models.fields.IntegerField', [], {}), -            'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['archaeological_operations.OperationType']"}), +            'negative_result': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), +            'operation_code': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'operation_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['ishtar_common.OperationType']"}), +            'operator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operator'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),              'operator_reference': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),              'optional_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'periods': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_operations.Period']", 'symmetrical': 'False'}), -            'remains': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['archaeological_operations.RemainType']", 'symmetrical': 'False'}), +            'periods': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}), +            'record_quality': ('django.db.models.fields.CharField', [], {'max_length': '2', 'null': 'True', 'blank': 'True'}), +            'remains': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['archaeological_operations.RemainType']", 'null': 'True', 'blank': 'True'}), +            'report_delivery_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'report_processing': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.ReportState']", 'null': 'True', 'blank': 'True'}),              'scheduled_man_days': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'scientist': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'operation_scientist_responsability'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),              'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),              'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'towns': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.Town']", 'symmetrical': 'False'}), -            'year': ('django.db.models.fields.IntegerField', [], {}), +            'virtual_operation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'zoning_prescription': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'})          }, -        'archaeological_operations.operationtype': { -            'Meta': {'object_name': 'OperationType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        },          'archaeological_operations.parcel': { -            'Meta': {'object_name': 'Parcel'}, +            'Meta': {'ordering': "('year', 'section', 'parcel_number')", 'object_name': 'Parcel'}, +            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_files.File']"}), +            'external_id': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_operations_parcel'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),              'operation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'parcels'", 'null': 'True', 'to': "orm['archaeological_operations.Operation']"}), -            'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6'}), +            'parcel_number': ('django.db.models.fields.CharField', [], {'max_length': '6', 'null': 'True', 'blank': 'True'}),              'section': ('django.db.models.fields.CharField', [], {'max_length': '4'}),              'town': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'parcels'", 'to': "orm['ishtar_common.Town']"}),              'year': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})          },          'archaeological_operations.period': { -            'Meta': {'object_name': 'Period'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('order',)", 'object_name': 'Period'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'end_date': ('django.db.models.fields.IntegerField', [], {}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), @@ -604,36 +1042,47 @@ class Migration(SchemaMigration):              'order': ('django.db.models.fields.IntegerField', [], {}),              'parent': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_operations.Period']", 'null': 'True', 'blank': 'True'}),              'start_date': ('django.db.models.fields.IntegerField', [], {}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'archaeological_operations.remaintype': { -            'Meta': {'object_name': 'RemainType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('label',)", 'object_name': 'RemainType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        }, +        'archaeological_operations.reportstate': { +            'Meta': {'ordering': "('order',)", 'object_name': 'ReportState'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'order': ('django.db.models.fields.IntegerField', [], {}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'archaeological_warehouse.container': {              'Meta': {'object_name': 'Container'},              'comment': ('django.db.models.fields.TextField', [], {}),              'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_container'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),              'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"}),              'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'})          },          'archaeological_warehouse.containertype': { -            'Meta': {'object_name': 'ContainerType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('label',)", 'object_name': 'ContainerType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),              'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'reference': ('django.db.models.fields.CharField', [], {'max_length': '30'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}),              'volume': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),              'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})          }, @@ -643,23 +1092,26 @@ class Migration(SchemaMigration):              'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_archaeological_warehouse_warehouse'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}),              'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),              'name': ('django.db.models.fields.CharField', [], {'max_length': '40'}), -            'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']", 'null': 'True', 'blank': 'True'}), +            'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'warehouse_in_charge'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Person']"}),              'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),              'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), +            'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'}),              'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"})          },          'archaeological_warehouse.warehousetype': { -            'Meta': {'object_name': 'WarehouseType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('label',)", 'object_name': 'WarehouseType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'auth.group': {              'Meta': {'object_name': 'Group'}, @@ -707,15 +1159,15 @@ class Migration(SchemaMigration):              'Meta': {'object_name': 'Author'},              'author_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.AuthorType']"}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'person': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']"}) +            'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'author'", 'to': "orm['ishtar_common.Person']"})          },          'ishtar_common.authortype': {              'Meta': {'object_name': 'AuthorType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'ishtar_common.canton': {              'Meta': {'object_name': 'Canton'}, @@ -727,64 +1179,151 @@ class Migration(SchemaMigration):              'Meta': {'ordering': "['number']", 'object_name': 'Department'},              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}), -            'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}) +            'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}), +            'state': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.State']", 'null': 'True', 'blank': 'True'}) +        }, +        'ishtar_common.documenttemplate': { +            'Meta': {'ordering': "['associated_object_name', 'name']", 'object_name': 'DocumentTemplate'}, +            'associated_object_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'template': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}) +        }, +        'ishtar_common.format': { +            'Meta': {'object_name': 'Format'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        }, +        'ishtar_common.import': { +            'Meta': {'object_name': 'Import'}, +            'conservative_import': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'creation_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), +            'encoding': ('django.db.models.fields.CharField', [], {'default': "'utf-8'", 'max_length': '15'}), +            'end_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), +            'error_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'imported_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), +            'imported_images': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'importer_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.ImporterType']"}), +            'match_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'result_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'seconds_remaining': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'skip_lines': ('django.db.models.fields.IntegerField', [], {'default': '1'}), +            'state': ('django.db.models.fields.CharField', [], {'default': "'C'", 'max_length': '2'}), +            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.IshtarUser']"}) +        }, +        'ishtar_common.importertype': { +            'Meta': {'object_name': 'ImporterType'}, +            'associated_models': ('django.db.models.fields.CharField', [], {'max_length': '200'}), +            'description': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'is_template': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '100', 'unique': 'True', 'null': 'True', 'blank': 'True'}), +            'unicity_keys': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), +            'users': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['ishtar_common.IshtarUser']", 'null': 'True', 'blank': 'True'}) +        }, +        'ishtar_common.ishtaruser': { +            'Meta': {'object_name': 'IshtarUser', '_ormbases': ['auth.User']}, +            'person': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ishtaruser'", 'unique': 'True', 'to': "orm['ishtar_common.Person']"}), +            'user_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True', 'primary_key': 'True'}) +        }, +        'ishtar_common.operationtype': { +            'Meta': {'ordering': "['-preventive', 'order', 'label']", 'object_name': 'OperationType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), +            'preventive': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'ishtar_common.organization': {              'Meta': {'object_name': 'Organization'},              'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_organization'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), +            'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), +            'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Organization']"}), +            'merge_key': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),              'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '300'}),              'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}),              'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),              'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}) +            'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})          },          'ishtar_common.organizationtype': { -            'Meta': {'object_name': 'OrganizationType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('label',)", 'object_name': 'OrganizationType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'ishtar_common.person': {              'Meta': {'object_name': 'Person'},              'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Organization']", 'null': 'True', 'blank': 'True'}), +            'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'members'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['ishtar_common.Organization']"}),              'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'email': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), +            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), +            'history_creator': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}), +            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['auth.User']"}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'imports': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'imported_ishtar_common_person'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['ishtar_common.Import']"}), +            'merge_candidate': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_candidate_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), +            'merge_exclusion': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'merge_exclusion_rel_+'", 'null': 'True', 'to': "orm['ishtar_common.Person']"}), +            'merge_key': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}),              'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}), -            'person_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.PersonType']"}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'person_types': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.PersonType']", 'symmetrical': 'False'}),              'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}),              'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'surname': ('django.db.models.fields.CharField', [], {'max_length': '20'}), -            'title': ('django.db.models.fields.CharField', [], {'max_length': '2'}), -            'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}) +            'raw_name': ('django.db.models.fields.CharField', [], {'max_length': '300', 'null': 'True', 'blank': 'True'}), +            'surname': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), +            'title': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'town': ('django.db.models.fields.CharField', [], {'max_length': '70', 'null': 'True', 'blank': 'True'})          },          'ishtar_common.persontype': { -            'Meta': {'object_name': 'PersonType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'Meta': {'ordering': "('label',)", 'object_name': 'PersonType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['auth.Group']", 'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'rights': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.WizardStep']", 'symmetrical': 'False'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'ishtar_common.sourcetype': {              'Meta': {'object_name': 'SourceType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) +        }, +        'ishtar_common.state': { +            'Meta': {'ordering': "['number']", 'object_name': 'State'}, +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'label': ('django.db.models.fields.CharField', [], {'max_length': '30'}), +            'number': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}) +        }, +        'ishtar_common.supporttype': { +            'Meta': {'object_name': 'SupportType'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),              'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),              'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),              'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) +            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'})          },          'ishtar_common.town': {              'Meta': {'ordering': "['numero_insee']", 'object_name': 'Town'}, @@ -795,19 +1334,6 @@ class Migration(SchemaMigration):              'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}),              'numero_insee': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '6'}),              'surface': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'ishtar_common.wizard': { -            'Meta': {'ordering': "['url_name']", 'object_name': 'Wizard'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'url_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}) -        }, -        'ishtar_common.wizardstep': { -            'Meta': {'ordering': "['wizard', 'order']", 'object_name': 'WizardStep'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}), -            'order': ('django.db.models.fields.IntegerField', [], {}), -            'url_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}), -            'wizard': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Wizard']"})          }      } | 
