couchDB-Python хранит значение даты - PullRequest
0 голосов
/ 14 ноября 2011

Я следовал учебному пособию по CouchDb из http://packages.python.org/CouchDB/mapping.html. Это кажется устаревшим, поскольку модули не работают в соответствии с программой.Поэтому я просто переписал скрипт Python CouchDB для хранения нескольких значений, и вот мой скрипт.Но при поиске в базе данных CouchDb я могу найти имя и возраст, но значение даты не сохраняется .Может кто-нибудь сказать мне, как это сделать?Также есть обновленное руководство по Python CouchDB?

from couchdb import Server, Document
from couchdb.mapping import TextField, IntegerField, DateTimeField 
import datetime

class Person(Document):
    name  = TextField()
    age = IntegerField()
    added = DateTimeField(default=datetime.datetime.now())

if __name__ == '__main__':
    server = Server('http://localhost:5984')
    try:
        db = server.create('person')
    except Exception:
        db = server['person']

    person = Person(name='John Doe', age=42)
    db.save(person)

Ответы [ 2 ]

0 голосов
/ 22 декабря 2011

Я столкнулся с той же проблемой, и, взглянув на код, я заметил, что есть класс 2 Document!Если вы собираетесь использовать сопоставление полей, используйте couchdb.mapping.Document.

0 голосов
/ 14 ноября 2011

Пример Couchdb относится к значению по умолчанию datetime.now, но вы используете datetime.datetime.now(). Дополнительные datetime не проблема, но вы можете рассмотреть возможность использования from datetime import datetime для удобства чтения.

Проблема заключается в том, что вы вызываете функцию и возвращаете ее значение, в то время как в примере передается объект функции, который Couchdb может вызвать в любое время, когда ему требуется значение по умолчанию.

Избавьтесь от двух скобок, и все будет в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...