web-dev-qa-db-fra.com

"Commande inconnue syncdb" en cours d'exécution "python manage.py syncdb"

Je veux créer les tables d'une base de données appelée "database1.sqlite", alors je lance la commande: 

python manage.py syncdb

mais lorsque j'exécute la commande, le message d'erreur suivant s'affiche:

Commande inconnue: 'syncdb' Tapez 'manage.py help' pour l'utiliser.

Mais quand je cours 

aide à manage.py 

Je ne vois aucune commande suspecte à substituer 

python manage.py syncdb

Version de Python que j'utilise: 3.4.2 Version de Django que j'utilise: 1.9 

Je serais très reconnaissant si quelqu'un pouvait m'aider à résoudre ce problème.

Cordialement et merci d'avance

21
lanz

Si vous examinez la commande notes de version pour Django 1.9 , syncdb est supprimé. 

Veuillez utiliser migrate à la place. À l’avenir, les les commandes de migration seraient telles que décrites ici

Veuillez noter que la version Django-1.9 n’est pas stable à ce jour. 

Edit: Django 1.9 est stable maintenant 

45
karthikr

le nouveau Django 1.9 a supprimé "syncdb", exécuter "python manage.py migrate", si vous essayez de créer un super utilisateur, exécutez "python manage.py createuperuser" 

8
Sheikh Arham

$python manage.py syncdb est obsolète et n'est pas pris en charge maintenant . Ainsi, au lieu de cela, suivez les instructions ci-dessous.

Quel que soit le modèle que vous avez créé: Premier lancement:

$python manage.py makemigrations

Après avoir exécuté cette commande, votre modèle sera reflété dans une migration.

Ensuite, vous devez exécuter:

$python manage.py migrate

Puis lancez le serveur:

$python manage.py runserver

Maintenant, votre projet fonctionnera parfaitement.

5
Premjeet

À partir de Django 1.9, la commande syncdb est supprimée. Ainsi, au lieu de l'utiliser, vous pouvez utiliser la commande migrate, par exemple: python manage.py migrate. Ensuite, vous pouvez exécuter votre serveur avec la commande python manage.py runserver

2
PyDevSRS

Django a supprimé la commande python manage.py syncdb. Vous pouvez maintenant utiliser simplement python manage.py makemigrations suivi depython manage.py migrate. La base de données sera synchronisée automatiquement.

1
Anish Upreti

Manière Alternarte:

  1. Désinstallez le module Django de l'environnement
  2. Modifier les exigences.txt un type Django <1.9
  3. Exécuter l’option Installer à partir des exigences de l’environnement
  4. Essayez à nouveau Syncdb

Cela a fonctionné pour moi.

0
Fernando

Exécutez la commande python manage.py makemigratons, puis python manage.py migrer vers la synchronisation.

0
cwjwhu

Vous pouvez exécuter la commande à partir du dossier du projet en tant que "python.exe manage.py migrate", à partir d'une ligne de commande ou dans un fichier de traitement par lots . Vous pouvez également rétrograder Django vers une version plus ancienne (antérieure à 1.9) si vous avez vraiment besoin de syncdb.

Pour les personnes essayant d'exécuter Syncdb à partir de Visual Studio 2015: L'option syncdb a été supprimée de Django 1.9 (obsolète depuis 1.7), mais cette option n'est actuellement pas mise à jour dans le menu contextuel de VS2015.

De plus, si vous n'êtes pas invité à créer un superutilisateur, vous devez exécuter cette commande manuellement pour en créer un: python.exe manage.py createsuperuser

0
Daan