id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 25036,`manage.py migrate --noinput` does not delete stale content types,Ed Morley,nobody,"Ticket [https://code.djangoproject.com/ticket/12339 #12339] made the check for stale content types prompt before deletion: [https://github.com/django/django/blob/c31bf8cb54e591e244abc951896ef5e4a089f38d/django/contrib/contenttypes/management.py#L60-L75 django/contrib/contenttypes/management.py#L60-L75] eg: {{{ The following content types are stale and need to be deleted: model | foo Any objects related to these content types by a foreign key will also be deleted. Are you sure you want to delete these content types? If you're unsure, answer 'no'. Type 'yes' to continue, or 'no' to cancel: }}} I need to avoid the prompt for my deploy script (as well as local development setup scripts), so thought I could just pass `--noinput` to migrate. However as can be seen at the link above, this doesn't delete the stale content types - as it's equivalent to answering 'no' at the prompt. I think `--noinput` should be equivalent to entering 'yes', or else there should be a `--force` option - for people that know the issues with cascade deletes do not affect them. I'm happy to open a PR - which approach would people prefer? (I'm presuming the latter, to prevent surprising people already using `--noinput`) Thanks! :-)",New feature,closed,contrib.contenttypes,dev,Normal,duplicate,,,Unreviewed,0,0,0,0,1,0