Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
couchDB-Python存储日期值_Python_Database_Couchdb - Fatal编程技术网

couchDB-Python存储日期值

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

我一直在遵循来自的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)

Couchdb示例引用了默认值
datetime.now
,但您使用的是
datetime.datetime.now()
。额外的<代码>日期时间<代码>不是一个问题,但您可能需要考虑从DATETIME导入DATESTIME/<代码>使用<代码>可读性。 问题是您正在调用一个函数并返回其值,而示例传递了一个函数对象,Couchdb可以在需要默认值时随时调用该对象


去掉这两个圆括号,你应该就没事了。

我遇到了同样的问题,在浏览代码之后,我注意到有两个
文档
类!如果要使用字段映射,请使用
couchdb.mapping.Document

谢谢,这很有意义。即使我去掉括号,couchdb也不显示数据。你创建了新记录吗?默认值只有在创建新的Couchdb记录时才会生效。db.save(person)创建了一个新记录,我在新记录中看到了名称和年龄,因为我传递了这些参数。问题与可读性无关,也与对象类型无关。有两种不同的
文档
类!