anv*_*nvd 7 python sql postgresql datetime flask
我想更新用户上次看到的列.要做到这一点,我正在尝试这个用户模型:
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
...
last_seen = db.Column(db.DateTime(timezone=True), default=datetime.datetime.utcnow)
def ping(self):
self.last_seen = datetime.datetime.utcnow()
db.session.add(self)
db.session.commit()
Run Code Online (Sandbox Code Playgroud)
此代码始终在用户执行某些操作时运行.
@mod.before_app_request
def before_request():
current_user.ping()
Run Code Online (Sandbox Code Playgroud)
这是错误:
TypeError: can't compare offset-naive and offset-aware datetimes
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?我正在使用postgres,问题很容易用我正在展示的代码模拟.
Sim*_*ser 11
创建一个有意识的日期时间(具有时区的日期时间):
import pytz
self.last_seen = datetime.datetime.utcnow().replace(tzinfo=pytz.UTC)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您将要创建一个以UTC为当前时间的知晓日期时间.
您需要这个pytz包(此包包含最新的时区信息,并且该信息不是Python标准库的一部分).
| 归档时间: |
|
| 查看次数: |
11075 次 |
| 最近记录: |