So instead we import the models with the implicit understanding that we’ll squash these migrations later (its terrible anyhow to find long since removed apps in your migrations).
The next thing to notice is that we’re using the If for some reason it turns out that changing your templates is too much of a hassle, keep reading for a few alternatives.
Painless steps for migrating existing image and file uploads to django-filer. neither option tends to work out well for the people actually using the site.
For Django projects, the best solution we’ve found so far to this problem is django-filer.
Combined with standard image fields like captions and alt text, as well as extra thumbnailing support, filer stands out as a superior way to manage image content.
You can take care of this in your forms, and if you’re using the Django admin’s default Model Form you’ll need to ensure this field is allowed to be blank.
The follow up here would be to remove the old field altogether. You should only do this once you’re ready to squash or remove your migrations, since the way we’ve implemented the data migration here depends on the presence of specific fields on the model. Just remove the content from the data migration so that it does nothing and imports none of your models.
As with templates there’s an alternative way of getting around this at least for simple cases.
Any code in your forms or views that references the image field . The primary way of doing this is to make the old field nullable and ensure it’s no longer required.