“python manage.py syncdb” pas de créer des tables
J'ai couru
python manage.py syncdb
et il a créé la base de données et des tables pour moi, alors j'ai essayé d'ajouter plus d'applications, et voici ce que j'ai fait:
créer des applications par
python manage.py startapp newapp
Puis j'ai ajouté 'newapp'
à INSTALLED_APPS
dans setting.py:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'newapp',
)
Au dernier j'ai couru syncdb
:
python manage.py syncdb
et voici le résultat que j'obtiens:
Creating tables ...
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
J'ai vérifié ma db et il n'y a pas de table nommée newapp
, aucun nom de la table, y compris newapp
.
Avez-vous des modèles dans newapp? S'il vous plaît montrer votre models.py.
ouais, vous avez raison. Merci beaucoup!!
ouais, vous avez raison. Merci beaucoup!!
OriginalL'auteur odieatla | 2014-04-23
Vous devez vous connecter pour publier un commentaire.
Si vous exécutez:
Vous pouvez obtenir rapidement de vérifier si votre structure de base de données est la mise en correspondance de django modèles.
ok, je vois que ma db structure ne correspond pas à mes modèles. comment puis-je résoudre ce problème?
OriginalL'auteur Nishant Nawarkhede
J'ai aussi rencontré ce problème, et a été en mesure de contourner ce problème en supprimant les migrations dossier à l'intérieur de mon application. En quelque sorte, qui avait déjà obtenu créé et tromper syncdb en pensant que c'était totalement migré déjà, mais ces scripts de migration n'ai rien fait d'utile. Évidemment, ne pas essayer si vous avez déjà des migrations vous souhaitez enregistrer, mais je travaille avec une marque nouvelle application et modèles.
Il semble que si vous avez des commentaires dans le " sud " à partir d'applications installées dans le fichier de paramètres, vous pouvez créer l'ensemble de la db
OriginalL'auteur Ancharon
J'ai essayé la plupart des idées ci-dessus:
models.py
est importé (vérifié que le module exécuté au cours d'une makemigrate),migrations
dossiermanaged = True
(c'est par défaut de toute façon),python manage.py inspectdb
(ce qui sous-évaluées correctement la table, si je l'avais créé manuellement).La clé était simplement pour exécuter un
makemigrations
sur le application séparément:dans le cadre de l'exécution de la makemigrations étape. Ensuite, vous ne
par la suite, comme d'habitude.
(s'applique à Django 1.10, à l'aide de Postgres 9.5).
Documentation de Django
De crédit, de la poste
OriginalL'auteur kashiraja
j'ai eu le même problème, mais je n'ai pas de "migration" d'un dossier. Je l'ai résolu comme ci-dessous.
J'ai juste ajouté
app_label
avec le code du modèle,Aussi, assurez-vous qu'il est détectable par le référencement dans
myapp/models/__init__.py
OriginalL'auteur kmonsoor
Vous devriez être en utilisant cette commande
où vous avez été runing syncdb à partir de l'endroit où manage.py réside
OriginalL'auteur Sandip Debnath
J'ai eu le même problème et a remarqué qu'il avait créé une db.sqlite3 fichier qui ne semble pas vide:
J'ai essayé de courir sqlite en utilisant à nouveau le nom de fichier comme argument et qui a travaillé:
OriginalL'auteur liquidki