Fixed #23405 - Fixed asking for default value for `CharField` and `TextField` in migrations

I think modifying autodetector will be enough.
When migration will be applying, `django.db.backends.schema.BaseDatabaseSchemaEditor#effective_default` set correct value (empty string) for `TextField` and `CharField`, if they are blank, but NOT NULL.
Nitpicking: I don't like the indention here.

I'd probably go with:
```python
if (not field.null and not field.has_default()
        and not isinstance(field, models.ManyToManyField)
        and not (field.blank and field.empty_strings_allowed)):
    field = field.clone()
```

The cryptography project uses:
```python
if (
    not field.null and not field.has_default()
    and not isinstance(field, models.ManyToManyField)
    and not (field.blank and field.empty_strings_allowed)
):
    field = field.clone()
```