class Migration(migrations.Migration): dependencies = [ ('contenttypes', '0001_initial'), ] operations = [ migrations.AlterModelOptions( name='contenttype', options={ 'verbose_name': 'content type', 'verbose_name_plural': 'content types' }, ), migrations.AlterField( model_name='contenttype', name='name', field=models.CharField(max_length=100, null=True), ), migrations.RunPython( migrations.RunPython.noop, add_legacy_name, hints={'model_name': 'contenttype'}, ), migrations.RemoveField( model_name='contenttype', name='name', ), ]
class Migration(migrations.Migration): dependencies = [("migrations", "6_auto")] operations = [ migrations.RunPython(migrations.RunPython.noop) ]
class Migration(migrations.Migration): dependencies = [("migration_test_data_persistence", "0001_initial")] operations = [ migrations.RunPython( add_book, ), ]
class Migration(migrations.Migration): replaces = [ ("app2", "1_auto"), ("app2", "2_auto"), ] dependencies = [("app1", "1_auto")] operations = [migrations.RunPython(migrations.RunPython.noop)]
class Migration(migrations.Migration): replaces = [ ("migrations", "3_auto"), ("migrations", "4_auto"), ("migrations", "5_auto"), ] dependencies = [("migrations", "2_auto")] operations = [migrations.RunPython(migrations.RunPython.noop)]
class Migration(migrations.Migration): dependencies = [ ('contenttypes_tests', '0001_initial'), ] operations = [ migrations.RenameModel('Foo', 'RenamedFoo'), migrations.RunPython(assert_foo_contenttype_not_cached, migrations.RunPython.noop) ]
class Migration(migrations.Migration): atomic = False operations = [ migrations.CreateModel( "Editor", [ ("name", models.CharField(primary_key=True, max_length=255)), ], ), migrations.RunPython(raise_error, reverse_code=raise_error, atomic=True), ]
class Migration(migrations.Migration): initial = True operations = [ migrations.CreateModel( 'Salamander', [ ('id', models.AutoField(primary_key=True)), ('tail', models.IntegerField(default=0)), ('silly_field', models.BooleanField(default=False)), ], ), migrations.RunPython(grow_tail, shrink_tail), ]
class Migration(migrations.Migration): atomic = False operations = [ migrations.CreateModel( "Publisher", [ ("name", models.CharField(primary_key=True, max_length=255)), ], ), migrations.RunPython(raise_error), migrations.CreateModel( "Book", [ ("title", models.CharField(primary_key=True, max_length=255)), ("publisher", models.ForeignKey( "migrations.Publisher", models.SET_NULL, null=True)), ], ), ]
def _test_run_python(self, app_label, should_run, hints=None): with override_settings(DATABASE_ROUTERS=[MigrateEverythingRouter()]): project_state = self.set_up_test_model(app_label) # Create the operation def inner_method(models, schema_editor): Pony = models.get_model(app_label, "Pony") Pony.objects.create(pink=1, weight=3.55) Pony.objects.create(weight=5) operation = migrations.RunPython(inner_method, hints=hints or {}) # Test the state alteration does nothing new_state = project_state.clone() operation.state_forwards(app_label, new_state) self.assertEqual(new_state, project_state) # Test the database alteration self.assertEqual(project_state.apps.get_model(app_label, "Pony").objects.count(), 0) with connection.schema_editor() as editor: operation.database_forwards(app_label, editor, project_state, new_state) Pony = project_state.apps.get_model(app_label, "Pony") if should_run: self.assertEqual(Pony.objects.count(), 2) else: self.assertEqual(Pony.objects.count(), 0)
class Migration(migrations.Migration): operations = [migrations.RunPython(migrations.RunPython.noop)]