started pelicula girls getting descargar cantante python django

python - pelicula - django windows



Django: ¿Cambiar modelos sin borrar todos los datos? (3)

Django nunca altera una columna de base de datos existente. Syncdb creará tablas, pero no realiza "migraciones" como las que se encuentran en Rails, por ejemplo. Si necesitas algo como eso, echa un vistazo a Django South .

Ver los documentos para syndb :

Syncdb no alterará las tablas existentes

syncdb solo creará tablas para los modelos que aún no se han instalado. Nunca emitirá sentencias ALTER TABLE para hacer coincidir los cambios realizados en una clase de modelo después de la instalación. Los cambios en las clases de modelos y los esquemas de base de datos a menudo implican algún tipo de ambigüedad y, en esos casos, Django tendría que adivinar los cambios correctos para realizarlos. Existe el riesgo de que los datos críticos se pierdan en el proceso.

Si ha realizado cambios en un modelo y desea modificar las tablas de la base de datos para que coincidan, use el comando sql para mostrar la nueva estructura SQL y compárelo con su esquema de tabla existente para resolver los cambios.

Debe cambiar los nombres de columna en su base de datos manualmente a través de las herramientas de administración que proporciona sqlite. He hecho esto con MySQL, por ejemplo, y como MySQL te permite cambiar los nombres de las columnas sin afectar tus datos, no hay problema.

Tengo algunos modelos con los que trabajo en una nueva instalación de Django. ¿Es posible cambiar los campos sin perder los datos de la aplicación?

Intenté cambiar el campo y ejecutar python manage.py syncdb . No hubo salida de este comando.

La renovación de las páginas de administración para editar los modelos modificados provocó que TemplateSyntaxErrors se mostrara cuando Django buscaba mostrar campos que no existían en la base de datos.

Estoy usando SQLite.

Soy capaz de eliminar el archivo db, luego volver a ejecutar python manage.py syncdb , pero eso es una molestia. Hay una mejor manera de hacerlo?


Por supuesto que hay
Echa un vistazo al sur


Tendrá que actualizar manualmente el esquema / diseño de la base de datos, si solo está hablando de agregar / eliminar columnas.

Si está intentando cambiar el nombre de una columna, tendrá que buscar otra forma.

Puede usar el python manage.py sql [app name] ( http://docs.djangoproject.com/en/dev/ref/django-admin/#sql-appname-appname ) para ver qué aspecto debería tener el nuevo SQL como, para ver qué columnas, de qué tipo / especificación Django le gustaría agregar, y luego ejecute manualmente los comandos ALTER TABLE correspondientes.

Hay algunas aplicaciones / proyectos que permiten una gestión más sencilla del modelo / base de datos, pero Django no admite esto de manera inmediata, a propósito o por diseño.