J'utilise un legacy database (en plus d'une base de données 'normale'), défini dans mon settings.py
:Django-commentaires et base de données héritée? "OperationalError: pas de table"
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
},
'articles_database': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'articles.db'),
} }
et dans mon models.py
avec:
from django.db import models
class ArticlesTable(models.Model):
id = models.IntegerField(primary_key=True) # AutoField?
article_type = models.TextField(blank=True, null=True) # This field type is a guess.
article_name = models.TextField(blank=True, null=True) # This field type is a guess.
article_number = models.IntegerField(db_column='article_number', blank=True, null=True) # Field name made lowercase.
class Meta:
managed = False
db_table = 'articles_table'
Après avoir installé Django-commentaires sur mon Django 1.8.5: Je peux obtenir une forme appropriée pour remplir un commentaire, mais en cliquant sur le bouton « Poster » obtient cette erreur:
OperationalError at /comments/post/
no such table: articles_table
avec la ligne d'erreur mis en évidence:
/home/gus/.Envs/python3_django/lib/python3.4/site-packages/django_comments/views/comments.py in post_comment
56. target = model._default_manager.using(using).get(pk=object_pk)
Apparemment, Django-commentaires n'ont pas trouvé ma table dans ma base de données? Est-il possible d'utiliser une base de données existante avec Django-comments?
EDIT: J'ai fixé le modèle pour ma base de données existante comme @Geo Jacob a suggéré:
class Meta:
managed = True
db_table = 'articles_table'
Mais maintenant, je me suis une page d'erreur (fourni par Django-commentaires, pas une page de débogage) :
Comment post not allowed (400)
Why: No object matching content-type 'articles.articlestable' and
object PK '1' exists.
The comment you tried to post to this view wasn't saved because
something tampered with the security information in the comment
form. The message above should explain the problem, or you can check
the comment documentation for more help.
Django-commentaires dans la fonction post_comment
obtient le modèle droit (ArticlesTable
) mais ne peut pas trouver l'objet ???
Maintenant j'ai: Le commentaire n'est pas autorisé (400) Pourquoi: \t Aucun objet ne correspond au type de contenu 'articles.articlestable' et l'objet PK '1' existe. Le commentaire que vous avez essayé de publier sur cette vue n'a pas été enregistré car quelque chose a altéré les informations de sécurité dans le formulaire de commentaire. – ThePhi