2017-07-31 5 views
0

J'utilise elasticsearch comme base de données pour mon application Django. Mais chaque fois que je lance python manage.py rebuild_index je viens avec l'erreur suivante:settings.DATABASES est mal configuré (Elasticsearch)

Traceback (most recent call last): 
    File "manage.py", line 22, in <module> 
    execute_from_command_line(sys.argv) 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line 
    utility.execute() 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/core/management/__init__.py", line 359, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/core/management/base.py", line 305, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/core/management/base.py", line 356, in execute 
    output = self.handle(*args, **options) 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/haystack/management/commands/rebuild_index.py", line 37, in handle 
    call_command('update_index', **options) 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/core/management/__init__.py", line 130, in call_command 
    return command.execute(*args, **defaults) 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/core/management/base.py", line 356, in execute 
    output = self.handle(*args, **options) 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 214, in handle 
    self.update_backend(label, using) 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 240, in update_backend 
    total = qs.count() 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/db/models/query.py", line 369, in count 
    return self.query.get_count(using=self.db) 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/db/models/sql/query.py", line 476, in get_count 
    number = obj.get_aggregation(using, ['__count'])['__count'] 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/db/models/sql/query.py", line 457, in get_aggregation 
    result = compiler.execute_sql(SINGLE) 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 824, in execute_sql 
    sql, params = self.as_sql() 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 374, in as_sql 
    from_, f_params = self.get_from_clause() 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 612, in get_from_clause 
    clause_sql, clause_params = self.compile(from_clause) 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 353, in compile 
    sql, params = node.as_sql(self, self.connection) 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/db/models/sql/datastructures.py", line 146, in as_sql 
    base_sql = compiler.quote_name_unless_alias(self.table_name) 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 344, in quote_name_unless_alias 
    r = self.connection.ops.quote_name(name) 
    File "/Manish/Projects/Spark/ad-tracking-django-env/lib/python2.7/site-packages/django/db/backends/dummy/base.py", line 21, in complain 
    raise ImproperlyConfigured("settings.DATABASES is improperly configured. " 
django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details. 

L'erreur principale est:

raise ImproperlyConfigured("settings.DATABASES is improperly configured. " 
    django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details. 

J'utilise aussi Haystack pour mon moteur de recherche. Mon settings.py pour la connexion Haystack est:

HAYSTACK_CONNECTIONS = { 
    'default': { 
     'ENGINE': 'haystack.backends.elasticsearch2_backend.Elasticsearch2SearchEngine', 
     'URL': 'http://127.0.0.1:9200/', 
     'INDEX_NAME': 'haystack', 
    }, 
} 
+0

afficher les réglages de base de données comme l'erreur se produit là-bas – Exprator

+0

I Je ne comprends pas la section Base de données. Dois-je déclarer les paramètres de la base de données ou les HAYSTACK_CONNECTIONS joueront-elles le rôle de la connexion à la base de données? Si je dois écrire le paramètre de base de données, comment dois-je l'écrire pour connecter mon application django avec elasticsearch? –

+0

non la connexion haystack est différente de la base de données, vous devez déclarer le paramètre DATABASE dans le fichier de paramètres sinon il ne s'exécutera pas – Exprator

Répondre

1
DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.sqlite3', 
     'NAME': 'mydatabase', 
    } 
} 

créer un fichier appelé db.sqlite3manage.py est, puis exécutez ce que vous exécutiez

+0

ne va pas alors enregistrer toutes les données dans le sqlite? Je n'ai pas compris ce qui se passe réellement. Pouvez-vous s'il vous plaît détailler cela? Si possible, s'il vous plaît commencez à "discuter" avec moi –

+0

non, quand vous utilisez haystack il redirigera vers cela, la base de données est juste pour faire fonctionner correctement django – Exprator

+0

J'ai une base de données créée donc je l'utilise par défaut: { Moteur ': 'django.db.backends.postgresql_psycopg2', 'NAME': 'noyau', 'uSER': 'user', 'PASSWORD': 'user', 'hôte': '10 .10.105.253 ', ' PORT ':' ', } 'J'ai eu l'erreur' ValueError: Expecting nom de la propriété: ligne 11 colonne 10 (char 274) ' –