2011-01-21 11 views
6

Mi pregunta es, ¿cuál es la mejor práctica para convertir un campo null=True en un campo null=False usando Django Sur? Específicamente, estoy trabajando con un ForeignKey.Django South - convertir un campo nulo = True en nulo = Campo falso

+0

¿Conoce lo que el nuevo valor por defecto será para el extranjero columna clave después de nulo = ¿Falso? Más bien, ¿será igual para todos o será necesario algún procesamiento especial para determinar cuál será? ¿Habrá un defecto? ¿Qué base de datos estas usando? – mkelley33

Respuesta

3

Si desea convertir ForeignKey con nulos en uno no modificable, puede ser problemático si tiene filas con NULL para ese campo (columna). En tal caso, debe eliminarlos o corregirlos, posiblemente con migración de datos personalizada, como diegueus9 mencionado en la otra respuesta.

Pero si no tiene ninguna fila con NULL en esa columna, p. porque pones que nula = True sólo en caso de que usted puede ser que lo necesite en el futuro, entonces usted debería ser capaz de hacer una simple migración automática de esquemas:

$ ./manage.py schemamigration myapp remove_null_from_fkey --auto 
(...) 
$ ./manage.py migrate myapp 
Cuestiones relacionadas