How to rename a Django app and migrate data from an app to the other

前端 未结 3 1454
生来不讨喜
生来不讨喜 2020-12-16 08:23

I have a Django app named app1 with models and migrations files. I renamed this app to app2 and I fixed all imports, urls etc... I now have a probl

3条回答
  •  青春惊慌失措
    2020-12-16 08:34

    This is elequently answered in this blog post.

    The bullet points are:

    1. Rename the folder of the application you want to update.
    2. Update any and import statements to the folder you updated.
    3. Update entries for the django_content_type table to refer to the application's app_label.
    4. Update the table names of any models you haven't explicitly set the table name of. These table names inferred by the application name and need to be updated.
    5. Update entries for the django_migrations table and update the reference for each migration by setting the app field your new app label.
    6. Update any namespaced folder names that are within your /static or /templates folder. For example, you might have ./foo_app/templates/foo_app/index.html and it should be updated to ./bar_app/templates/bar_app/index.html.

提交回复
热议问题