# Path: mutant/db/fields/generic.py
# class FieldDefinitionTypeField(PolymorphicTypeField):
#     def __init__(self, on_delete=models.CASCADE, *args, **kwargs):
#         super(FieldDefinitionTypeField, self).__init__(
#             'mutant.FieldDefinition', on_delete=on_delete, *args, **kwargs
#         )
# 
#     def deconstruct(self):
#         name, path, args, kwargs = super(FieldDefinitionTypeField, self).deconstruct()
#         kwargs.pop('polymorphic_type')
#         if kwargs.get('on_delete') == models.CASCADE:
#             kwargs.pop('on_delete')
#         return name, path, args, kwargs
# 
#     def formfield(self, **kwargs):
#         defaults = {'form_class': forms.FieldDefinitionTypeField}
#         defaults.update(kwargs)
#         return super(FieldDefinitionTypeField, self).formfield(**kwargs)


from django.db import migrations, models
from mutant.db.fields.generic import FieldDefinitionTypeField
        ('contenttypes', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='ConcreteModel',
            fields=[
                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                ('concrete_model_field', models.NullBooleanField()),
            ],
            options={
            },
            bases=(models.Model,),
        ),
        migrations.CreateModel(
            name='CustomFieldDefinition',
            fields=[
                ('fielddefinition_ptr', models.OneToOneField(
                    to='mutant.FieldDefinition', on_delete=models.CASCADE, parent_link=True, auto_created=True,
                    primary_key=True, serialize=False
                )),
            ],
            options={
            },
            bases=('mutant.fielddefinition',),
        ),
        migrations.CreateModel(
            name='FieldDefinitionModel',
            fields=[
                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),

# Path: mutant/db/fields/generic.py
# class FieldDefinitionTypeField(PolymorphicTypeField):
#     def __init__(self, on_delete=models.CASCADE, *args, **kwargs):
#         super(FieldDefinitionTypeField, self).__init__(
#             'mutant.FieldDefinition', on_delete=on_delete, *args, **kwargs
#         )
# 
#     def deconstruct(self):
#         name, path, args, kwargs = super(FieldDefinitionTypeField, self).deconstruct()
#         kwargs.pop('polymorphic_type')
#         if kwargs.get('on_delete') == models.CASCADE:
#             kwargs.pop('on_delete')
#         return name, path, args, kwargs
# 
#     def formfield(self, **kwargs):
#         defaults = {'form_class': forms.FieldDefinitionTypeField}
#         defaults.update(kwargs)
#         return super(FieldDefinitionTypeField, self).formfield(**kwargs)


# Path: tests/migrations/0001_initial.py
from django.db import migrations, models
from mutant.db.fields.generic import FieldDefinitionTypeField

        ('contenttypes', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='ConcreteModel',
            fields=[
                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
                ('concrete_model_field', models.NullBooleanField()),
            ],
            options={
            },
            bases=(models.Model,),
        ),
        migrations.CreateModel(
            name='CustomFieldDefinition',
            fields=[
                ('fielddefinition_ptr', models.OneToOneField(
                    to='mutant.FieldDefinition', on_delete=models.CASCADE, parent_link=True, auto_created=True,
                    primary_key=True, serialize=False
                )),
            ],
            options={
            },
            bases=('mutant.fielddefinition',),
        ),
        migrations.CreateModel(
            name='FieldDefinitionModel',
            fields=[
                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),

                ('field_type', FieldDefinitionTypeField()),