django django-models database-schema django-south django-orm

django - La migración de ManyToManyField a null true, blank true, no se reconoce



django-models database-schema (1)

Ese comportamiento es correcto: null no significa nada en el nivel de la base de datos cuando se utiliza con ManyToManyField . La declaración de un ManyToManyField hace que la creación de una tabla intermedia mantenga la relación, y aunque Django creará un atributo standard en su instancia de modelo para su conveniencia, no hay una columna real que lo represente que pueda ser anulado. Por definición, siempre puede haber cero instancias de la relación.

blank=False , sin embargo, tiene un efecto en la aplicación de administración, obligando al usuario a elegir al menos una relación.

(Tenga en cuenta que el sistema de migración integrado de Django crea migraciones para casi cualquier cambio a un modelo, independientemente de si afecta a la base de datos o no. Por lo tanto, este cambio podría conducir a una migración, pero no afectaría a la base de datos o si no podrías tener cero instancias de la relación.)

He hecho un cambio de modelo de

standard = models.ManyToManyField(Standard)

a

standard = models.ManyToManyField(Standard, blank=True, null=True)

Schemamigration sur para esta aplicación no reconoce el cambio?

Similar a esta pregunta, que no tiene respuesta: migraciones del sur y cambios a campos de muchos a muchos