In meinem Django Projekt habe ich Mysql und MongoDB als zwei Datenbanken benutzt. Und definierte Einstellungsdatei so.
DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"NAME": "db_name"
},
"mongo_db": {
"ENGINE": "django_mongodb_engine",
"NAME": "****",
},
}
Ich habe alle meine Modelle so definiert
class EntityType(Document):
entity_type = fields.StringField()
Jetzt, wenn ich Daten in EntityType mit Django Shell speichern möchte, ist der Wurffehler
ConnectionError: You have not defined a default connection
Bitte schlage vor, was ich falsch mache
Bearbeiten
Habe ich falsche Engine in mongo_db Datenbankverbindung hinzugefügt. Ich glaube, ich habe zwischen Mongoengine und Django-Mongodb-Engine verwirrt
Antworten:
0 für die Antwort № 1Sagen wir, du tust:
entity_type = EntityType(....)
entity_type.save(using="mongo_db")
Das sollte funktionieren
0 für die Antwort № 2
Sie können Ihre Datenbank mit Mongoengine verbinden
from mongoengine import connect
connect(alias="alias_name", db="db_name", host="localhost",
username="your_username", password="password_of_your_username",
authentication_source="admin")