python table属性_SQLAlchemy“Table”对象没有属性“datetime”

我在下面的代码中得到以下错误。我看不到表/对象返回的位置,或者至少应该返回。任何其他的建议也将是受欢迎的。在

我跑OrmConfig.session().query(Aquarium).all()

给出的错误是:

^{pr2}$

基于此代码:#################################################################

class Aquarium(OrmConfig.base):

__tablename__ = 'aquarium'

# Special attribute used for JSON encoding/decoding

_type = 'aquapi.entity.Aquarium'

id = Column(Integer, Sequence('seq_aquarium_id'), primary_key=True)

name = Column(Unicode(50))

created = Column(DateTime())

updated = Column(DateTime())

sensors = relationship("Sensor", backref=backref('aquarium'))

#################################################################

class SensorType(OrmConfig.base):

__tablename__ = 'sensor_type';

# Special attribute used for JSON encoding/decoding

_type = 'aquapi.entity.SensorType'

id = Column(Integer, Sequence('seq_sensor_type_id'), primary_key=True)

name = Column(Unicode(30))

#################################################################

class SensorValue(OrmConfig.base):

__tablename__ = 'sensor_value';

# Special attribute used for JSON encoding/decoding

_type = 'aquapi.entity.SensorValue'

id = Column(Integer, Sequence('seq_sensorvalue_id'), primary_key=True)

sensor_id = Column(Integer, ForeignKey('sensor.id'))

value = Column(Unicode(30))

datetime = Column(DateTime())

#################################################################

class Sensor(OrmConfig.base):

__tablename__ = 'sensor';

# Special attribute used for JSON encoding/decoding

_type = 'aquapi.entity.Sensor'

id = Column(Integer, Sequence('seq_sensor_id'), primary_key=True)

name = Column(Unicode(30))

enabled = Column(Boolean)

freq = Column(Integer)

interface = Column(Unicode(10))

aquarium_id = Column(Integer, ForeignKey('aquarium.id'))

type_id = Column(Integer, ForeignKey('sensor_type.id'))

type = relationship(SensorType, backref=backref('sensors', uselist=False))

values = relationship(SensorValue, backref=backref('sensor_value', order_by='sensor_value.datetime'))

这是完整的回溯[13/Jan/2014:12:01:39] ENGINE Serving on 0.0.0.0:8282

[13/Jan/2014:12:01:39] ENGINE Bus STARTED

[13/Jan/2014:12:01:40] HTTP Traceback (most recent call last):

File "/usr/local/lib/python2.7/dist-packages/CherryPy-3.2.4-py2.7.egg/cherrypy/_cprequest.py", line 656, in respond

response.body = self.handler()

File "/usr/local/lib/python2.7/dist-packages/CherryPy-3.2.4-py2.7.egg/cherrypy/lib/encoding.py", line 188, in __call__

self.body = self.oldhandler(*args, **kwargs)

File "/usr/local/lib/python2.7/dist-packages/CherryPy-3.2.4-py2.7.egg/cherrypy/lib/jsontools.py", line 61, in json_handler

value = cherrypy.serving.request._json_inner_handler(*args, **kwargs)

File "/usr/local/lib/python2.7/dist-packages/CherryPy-3.2.4-py2.7.egg/cherrypy/_cpdispatch.py", line 34, in __call__

return self.callable(*self.args, **self.kwargs)

File "/home/patrick/workspace/AquaPi - Backend/aquapi/api_service.py", line 14, in default

"items": json.tojson(manager.Aquarium().read_all())

File "/home/patrick/workspace/AquaPi - Backend/aquapi/manager.py", line 19, in read_all

return OrmConfig.session().query(self.entity_type).all()

File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 969, in query

return self._query_cls(entities, self, **kwargs)

File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 107, in __init__

self._set_entities(entities)

File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 116, in _set_entities

self._setup_aliasizers(self._entities)

File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 131, in _setup_aliasizers

_entity_info(entity)

File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/util.py", line 550, in _entity_info

mapperlib.configure_mappers()

File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/mapper.py", line 2861, in configure_mappers

mapper._post_configure_properties()

File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/mapper.py", line 1166, in _post_configure_properties

prop.init()

File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/interfaces.py", line 128, in init

self.do_init()

File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/properties.py", line 919, in do_init

self._generate_backref()

File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/properties.py", line 1418, in _generate_backref

mapper._configure_property(backref_key, relationship)

File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/mapper.py", line 1145, in _configure_property

prop.init()

File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/interfaces.py", line 128, in init

self.do_init()

File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/properties.py", line 913, in do_init

self._process_dependent_arguments()

File "/usr/lib/python2.7/dist-packages/sqlalchemy/orm/properties.py", line 969, in _process_dependent_arguments

setattr(self, attr, attr_value())

File "/usr/lib/python2.7/dist-packages/sqlalchemy/ext/declarative.py", line 1346, in return_cls

x = eval(arg, globals(), d)

File "", line 1, in

AttributeError: 'Table' object has no attribute 'datetime'

127.0.0.1 - - [13/Jan/2014:12:01:40] "GET /aquarium HTTP/1.1" 500 805 "" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,根据您的要求,我可以为您设计一个mysql习题练习记录表,以下是表的结构: 表名:exercise_record 字段名 | 类型 | 描述 ---|---|--- id | int | 记录ID,自增主键 exercise_id | int | 习题ID,外键关联习题表 exercise_time | datetime | 练习时间 is_correct | bool | 答案是否正确 您可以使用以下代码创建该表: ```sql CREATE TABLE exercise_record ( id INT AUTO_INCREMENT PRIMARY KEY, exercise_id INT, exercise_time DATETIME, is_correct BOOLEAN, FOREIGN KEY (exercise_id) REFERENCES exercise(id) ); ``` 接下来,我可以为您编写一个使用flask_sqlalchemy的__init__初始化函数,代码如下: ```python from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() def create_app(): app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/db_name' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db.init_app(app) return app ``` 请注意,您需要将上述代码中的“username”、“password”和“db_name”替换为您自己的数据库用户名、密码和数据库名称。 最后,我可以为您编写一个添加记录函数,代码如下: ```python from datetime import datetime from .models import db, ExerciseRecord def add_record(exercise_id, is_correct): record = ExerciseRecord(exercise_id=exercise_id, exercise_time=datetime.now(), is_correct=is_correct) db.session.add(record) db.session.commit() ``` 请注意,您需要在models.py文件中定义ExerciseRecord模型,并将其导入到上述代码中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值