couchDB-Python存储日期值
我一直在遵循来自的CouchDb教程。这似乎过时了,因为模块不能按照程序工作。所以我只是重新编写了CouchDB python脚本来存储一些值,下面是我的脚本。但是当我查找CouchDb数据库时,我可以找到姓名和年龄,但是日期值没有存储。有人能告诉我怎么做吗?还有更新的python CouchDB教程吗couchDB-Python存储日期值,python,database,couchdb,Python,Database,Couchdb,我一直在遵循来自的CouchDb教程。这似乎过时了,因为模块不能按照程序工作。所以我只是重新编写了CouchDB python脚本来存储一些值,下面是我的脚本。但是当我查找CouchDb数据库时,我可以找到姓名和年龄,但是日期值没有存储。有人能告诉我怎么做吗?还有更新的python CouchDB教程吗 from couchdb import Server, Document from couchdb.mapping import TextField, IntegerField, DateTim
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)
Couchdb示例引用了默认值
datetime.now
,但您使用的是datetime.datetime.now()
。额外的<代码>日期时间<代码>不是一个问题,但您可能需要考虑从DATETIME导入DATESTIME/<代码>使用<代码>可读性。
问题是您正在调用一个函数并返回其值,而示例传递了一个函数对象,Couchdb可以在需要默认值时随时调用该对象
去掉这两个圆括号,你应该就没事了。我遇到了同样的问题,在浏览代码之后,我注意到有两个
文档
类!如果要使用字段映射,请使用couchdb.mapping.Document
。谢谢,这很有意义。即使我去掉括号,couchdb也不显示数据。你创建了新记录吗?默认值只有在创建新的Couchdb记录时才会生效。db.save(person)创建了一个新记录,我在新记录中看到了名称和年龄,因为我传递了这些参数。问题与可读性无关,也与对象类型无关。有两种不同的文档类!