我正在学习来自CouchDb的http://packages.python.org/CouchDB/mapping.html教程。这似乎是过时的,因为模块不能按照程序工作。因此,我只是重新编写了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)发布于 2011-11-14 02:58:30
Couchdb示例引用了datetime.now的默认值,但您使用的是datetime.datetime.now()。额外的datetime不是一个问题,但您可能需要考虑使用from datetime import datetime来提高可读性。
问题是您正在调用一个函数并返回它的值,而这个示例传递一个函数对象,Couchdb可以在它需要默认值时调用这个函数对象。
去掉这两个括号,你就会没事的。
发布于 2011-12-22 06:58:30
我遇到了同样的问题,在浏览了代码之后,我注意到有两个Document类!如果要使用字段映射,则使用couchdb.mapping.Document。
https://stackoverflow.com/questions/8116100
复制相似问题