2017-09-14 3 views
1

Je suis en train d'importer un modèle à partir du fichier dans le chemin -Django importer des modèles

"/usr/local/lib/python2.7/dist-packages". 

La sorcière de fichier contient le modèle qu'il appelle table_class_corespondance quand je l'importer est: des utilisateurs à l'importation de table_class_corespondance. Maintenant, dans la définition de la classe des utilisateurs après que je déclare le champ que j'écris:

class Meta: 
    managed = False 
    db_table = 'USERS' 
    app_label = "banner_manager" 

de sorte que Django saura que l'application fera référence ce tableau. Mais malheureusement, cette erreur apparaît toujours:

RuntimeError: Model class table_class_corespondance.Users doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS. 

Une idée de ce que je peux faire pour le résoudre?

Répondre

0

Lorsque vous utilisez Meta:

Si un modèle est défini en dehors d'une application dans INSTALLED_APPS, il doit déclarer quelle application il appartient:

Exemple: si le nom de l'application est music

app_label: 'music' 

maintenant,

Le nom de la table de base de données d'un modèle est construit en joignant le app label du modèle - le nom que vous avez utilisé dans manage.py startapp - au nom de la classe du modèle, avec un trait de soulignement entre eux.

Exemple: si l'application a music modèle Album

db_table = 'music_album' 

C'est ainsi que les méta œuvres.

Exemple complet:

class Meta: 
    managed = False 
    app_label = "myapp" 
    db_table = 'myapp_model' 

Maintenant vous suffit de trouver ce que vous faites.

Espérons que ça aide !!!!

+0

Le fait est que cette table appartient à une autre base de données qui.La connexion à la base de données a la structure suivante dans settings.py: 'default': { 'ENGINE': 'django.db.backends. mysql ' 'NOM': database_name_1, 'USER': user_name, 'MOT DE pASSE': mot de passe, 'HOST': hôte, 'PORT': port, }, 'utilisateurs': { ' MOTEUR ':' django.db.backends.mysql », 'NOM': database_name_2, 'USER': user_name, 'MOT DE PASSE': mot de passe, 'HOST': hôte, 'PORT': port, } Le modèle utilisateur est connecter à la base de données des utilisateurs – Unknown

0

La chose est que ce tableau appartient à une autre base de données which.The connexion à la base de données a la structure en settings.py que vous avez choisi:

'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': database_name_1, 
     'USER': user_name, 
     'PASSWORD': password, 
     'HOST': host, 
     'PORT': port, 
    }, 

    'users': { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': database_name_2, 
     'USER': user_name, 
     'PASSWORD':password, 
     'HOST': host, 
     'PORT': port, 

} Le modèle utilisateur est connecter à la base de données show « utilisateurs » comment db_table devrait-il regarder? Merci pour la réponse