couchDB-Python存储日期值

时间:2011-11-14 00:45:17

标签: python database couchdb

我正在关注http://packages.python.org/CouchDB/mapping.html的CouchDb教程。这似乎已经过时了,因为模块根据程序不起作用。所以我只是写了CouchDB python脚本来存储几个值,这是我的脚本。但是当我查找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 :(得分:0)

Couchdb示例引用的默认值为datetime.now,但您使用的是datetime.datetime.now()。额外的datetime不是问题,但您可能需要考虑使用from datetime import datetime来提高可读性。

问题是你正在调用一个函数并返回它的值,而这个例子传递了一个Couchdb可以在需要默认值时调用的函数对象。

摆脱两个括号,你应该没事。

答案 1 :(得分:0)

我遇到了同样的问题,在看了一下代码之后,我注意到有2 Document个类!如果您要使用字段映射,请改用couchdb.mapping.Document