2013-09-05 4 views
2

Je pense que j'ai foiré quelque part en essayant de créer un plugin django-cms et maintenant je suis incapable de revenir en arrière. Le plugin (appelé sbbplugin) semble être « travail » (il s'affiche), mais chaque fois que je tente de publier le site que je reçois l'erreur suivante:Créer un plugin pour Django-CMS

DatabaseError at /admin/cms/page/18/publish/ 

relation "cmsplugin_sbbmodel" does not exist 
LINE 1: ...id", "cmsplugin_sbbmodel"."cmsplugin_ptr_id" FROM "cmsplugin... 
                  ^

J'ai essayé de supprimer le plug-in, mais je ne peux pas le faire parce que la page n'est pas publiée. Mon plugin n'a aucun modèle ou quoi que ce soit. Aussi, je suis incapable de supprimer le plugin de la page en cliquant sur Supprimer. On dirait que la base de données est cassée. Comme je n'ai pas assez d'expérience pour savoir de quelle information vous avez besoin, je l'apprécierais, si vous pouviez me donner d'autres instructions sur ce que je devrais faire. Mise à jour: Je pense que le problème est que j'ai essayé d'utiliser un modèle (sbbmodel) que j'ai supprimé. Dois-je essayer d'ajouter à nouveau le modèle? Si oui, que dois-je faire pour réparer la base de données? Dois-je exécuter une migration pour mon application? Dois-je même enregistrer le plugin en tant qu'application?

Update2: J'ai donc essayé d'ajouter à nouveau le modèle et la migration de l'application, mais je reçois l'erreur suivante:

CommandError: One or more models did not validate: 
sbbplugin.sbbmodel: Accessor for field 'cmsplugin_ptr' clashes with related field 'CMSPlugin.sbbmodel'. Add a related_name argument to the definition for 'cmsplugin_ptr'. 
sbbplugin.sbbmodel: Reverse query name for field 'cmsplugin_ptr' clashes with related field 'CMSPlugin.sbbmodel'. Add a related_name argument to the definition for 'cmsplugin_ptr'. 
S.sbbmodel: Accessor for field 'cmsplugin_ptr' clashes with related field 'CMSPlugin.sbbmodel'. Add a related_name argument to the definition for 'cmsplugin_ptr'. 
S.sbbmodel: Reverse query name for field 'cmsplugin_ptr' clashes with related field 'CMSPlugin.sbbmodel'. Add a related_name argument to the definition for 'cmsplugin_ptr'. 

que je ne comprends pas vraiment parce que je ne spécifié une clé étrangère. Je suppose que c'est parce que j'ai hérité de CMSPlugin. De l'aide?

Répondre

0

Je l'ai finalement corrigé. J'ai d'abord supprimé tous les fichiers que j'avais créés pour mon plugin. Ensuite, j'ai supprimé chaque instance de mon plugin qui a été enregistrée dans la base de données. Malheureusement, cela n'a pas résolu le problème et je recevais toujours la même erreur même après avoir redémarré le serveur.

Qu'est-ce que l'astuce était d'aller dans phpPgAdmin et sélectionner toutes les tables que de choisir "correct". Il ne m'a pas dit exactement quel était le problème mais après tout, tout était redevenu normal. Donc, si vous rencontrez le même problème, il suffit de "corriger" votre base de données automatiquement.

Questions connexes