During development I created many migrations, often going back and forth about how I wanted to implement something.
Now it is time to push it to production, but I am get
There is a command in the django manage.py specifically for this. If you are using Migrations as fixtures you might need to fiddle with the dependencies attribute in some of the Migrations if you don't wish to squash your fixtures.
If you have no fixtures and simply want to squash all the migrations from you can run:
python manage.py squashmigrations app_name 0001
Where app_name is the name of your app, and 0001 is the migration you wish to squash up to.
See the docs linked above for more information.