I had to move a few models from one app to another, and I followed the instructions on this answer https://stackoverflow.com/a/26472482/188614.
Basically I used the CreateModel migrations generated by python manage.py makemigrations, wrapped them inside state_operations, and added the 'db_table' meta option with the old table's name.
Everything works fine, the models on the new_app are corretly using the old tables.
But if I run python manage.py makemigrations new_app it creates an AlterModelTable migration for each table renaming them as None, like this:
migrations.AlterModelTable(
name='cidade',
table=None,
),
Is this a bug, or expected behaviour?
I just had this problem myself.
The answer you were following includes this in the migration in new_app:
options={
'db_table': 'newapp_themodel',
},
This options dict should reflect the values set by the Meta class on your model. In my case, I was not setting db_table in Meta, but had blindly copied the options code.
You need to update the options in your migration for newapp to either remove the db_table value if you don't set it in Meta or to match the value you set in Meta.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With