CouchDB-Python: Document != Document

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Hi, in CouchDB-Python gibt es offensichtlich zwei Arten von Document Klassen, kann das sein?

Es gibt eine Document Klasse in couchdb und es gibt eine Document Klasse in couchdb.mapping. Die Klassen sind aber unterschiedlich. So hat nur couchdb.mapping.Document die load() und store() Methoden.

Sehe ich das richtig?
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
deets

Bist du dir eigentlich im klaren, was "mapping" bedeuten soll? Das ist eine Schnittstelle zur deklarativen Wandlung von JSON-Strukturen zu Python-Objekten und zurueck.

Und ja, wenn die Dokumentation das so sagt - dann haben auch nur mapping-Dokumente eine store/load-Methode.
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Das ist mir schon klar. Aber wofür ist die zweite Document Klasse? Es gibt sogar noch eine dritte Document Klasse in couchdb.client.
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

so ist es. couchdb.client.Document stellt das Dokument als Dict bereit, von couchdb.mapping.Document erbt deine Klasse, die das Mapping enthält. Ist nicht das gleiche.

Gruß, noisefloor
deets

burli hat geschrieben:Das ist mir schon klar. Aber wofür ist die zweite Document Klasse? Es gibt sogar noch eine dritte Document Klasse in couchdb.client.
Das scheint mir aber nicht, dass dir das klar ist. Das eine ist die Document-Klasse, welche direkt Dokumente aus und in CouchDB repraesentiert - also nur ein bisschen Dekoration um eine JSON-Struktur, bzw. eigentlich nur ein dictionary.

Und dann gibt's halt das Dokument fuer die Mappings, welche du definieren kannst.

couchdb.client.Document und couchdb.Document sind AFAIK synonym.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
couchdb.client.Document und couchdb.Document sind AFAIK synonym.
Yup, wobei die Doku an dieser Stelle leider ein wenig schwammig ist. Sehe ich aber genau so.

Gruß, noisefloor
Antworten