2011-04-27 2 views
1

Ma hiérarchie du projet -modèles ne se créé en dehors de models.py

MyProject -> monapp -> MyPackage -> models.py.

Dans ce models.py il y a une classe -

class Tagline(models.Model): 
     name = models.CharField(max_length=20) 
     tagline = models.CharField(max_length = 40) 
    class Meta: 
     app_label = 'myapp' 

Mais quand je tente accéder à cette table (soit par l'administrateur ou une vue normale) django me renvoie une erreur indiquant -
Table " myapp_tagline "n'existe pas.
Quoi d'autre que l'app_label dois-je spécifier pour que django puisse détecter ce modèle.

P.S. Comment puis-je indenter mon code ici?

+0

Pour l'indentation, veuillez utiliser [markdown] (http://en.wikipedia.org/wiki/Markdown). Un [Lien d'aide] (http://stackoverflow.com/editing-help) apparaît lorsque vous essayez d'éditer/ajouter une question. –

+0

Cette application est-elle incluse dans votre INSTALLED_APPS? Avez-vous exécuté 'syncdb' après cela? –

Répondre

1

Il doit être dans <app>.models. Importer là-bas.

Meta est un attribut de classe, donc il doit être à la même indentation que les autres attributs de classe.

+0

Toujours dans le fichier init.py de ce sous-package de modèles après avoir entré cette ligne - à partir de .mypackage import Tagline. Ça marche. Merci Ignacio. Vous avez encore sauvé la journée. – Sussagittikasusa

Questions connexes