- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的代码,
class User(db.Model, UserMixin):
uid = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(250), unique=True)
password = db.Column(db.String(250))
name = db.Column(db.String(250))
created_on = db.Column(db.TIMESTAMP, default=False)
modified_on = db.Column(db.TIMESTAMP, onupdate=datetime.datetime.now)
我想创建一个字段 timestamp,它将有一个默认值 timestamp,onupdate 将再次更改为当前时间戳。但是当我运行迁移时,这不会在 MySQL 中创建具有默认值或更新值的字段,我做错了什么?
最佳答案
SQLAlchemy 的默认值和 SQL 默认值之间存在差异。通常,设置 SQLAlchemy 默认值就足够了,因为您通常不应该直接与服务器交互。如果你真的想在服务器端呈现默认值,请使用 server_default
和 server_onupdate
参数到 Column
。
db.Column(
db.DateTime, nullable=False,
server_default=db.func.current_timestamp(),
server_onupdate=db.func.current_timestamp()
)
就我个人而言,我不喜欢这个解决方案,因为它将行为从您的应用程序转移到一个单独的位置,您以后可能会忽略它。在 Python 端执行默认设置更简单:
db.Column(
db.DateTime, nullable=False,
default=datetime.utcnow,
onupdate=datetime.utcnow
)
另外,考虑从使用 datetime.now
更改为 datetime.utcnow
,因为 UTC 在幕后更容易使用。仅在向用户显示内容时才转换为本地时间。
关于python - 如何在 flask-SQLAlchemy 中使用 Default 和 Onupdate 等值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28278328/
这个问题在这里已经有了答案: How can I use an action to determine a control's visibility? (3 个回答) 7年前关闭。 当我通过将连接的
所以,我开发了一个 android 小部件,它应该用作按钮。我使用了这里给出的基本代码:http://developer.android.com/guide/topics/appwidgets/ind
我试图声明 create_time和 update_time MySQL 数据库中具有高精度(毫秒/微秒精度)。问题是我找不到正确的语法/函数来运行这两个要求。 到目前为止的假设/挖掘: 我找到了My
我有一个文章模型,它会根据它的标题有 slug,模型是这样的: from sqlalchemy.ext.declarative import declarative_base from sqlalch
当我更新数据库版本时,它并没有删除所有的表(以为我会是默认行为)。我还需要做其他事情吗? 最佳答案 您使用的是哪个 SQLiteOpenHelper? 检查生成的 DaoMaster 类。它有一个内部
我想制作一个类似于 Widget 的 CountDown 计时器。我希望它每秒更新一次。下面是我的代码。 onUpdate() 根本不会被调用,除了开始时调用一次。请指出我的问题。提前致谢。 JAVA
我正在为我的应用程序开发一个小部件。小部件名称是历史记录,当用户浏览任何 URL 时,我会将其存储在本地数据库中,从中列出哪个小部件。 当我打开小部件时,它会从本地数据库中获取所有详细信息并将其显示在
public class VWid extends AppWidgetProvider { public static String WIDGET_UPDATE = "WIDGET_UPDAT
我正在为 SQLAlchemy 开发一个 Audit mixin,但不确定具体该怎么做。 我的类(class)是这样的: class AuditColumns(object): created
我想创建一个具有两种小部件尺寸(4x2 和 4x4)的应用。 为此,我创建了两个接收器:
我有一个循环函数的情况,找不到解决方案。 有一个集合,其中有一个标志,表明数据是否已更改。还想记录更改。 export async function landWrite(change, context
在Delphi XE7中,我使用这个技巧根据ListView中的项目是否被选择来自动启用或禁用工具栏按钮(“编辑ListView项目”),以防止用户单击该按钮(如果有)没有选择 ListView 项目
我是 javascript 和 google 云函数的新手。我遵循了文档,但仍然不知道为什么 orderdata 返回未定义。 exports.updateordersumry = functions
UIView animatWithDuration对completion有一个可选参数,但是我对update需要一个参数 整个想法是我需要一个在动画的每个帧上运行的块。我想我可以用NSInterval
我想更新名为 recipes 的集合中文档中的两个字段,我使用了批量更新来完成它: let recipeRef = db.collection('recipes').doc(`${recipeId}`
我对 android appwidget 的 onUpdate 函数有疑问:我每天使用该函数更新一次 appwidget。在此之前,我使用 TimerTask 类来更新小部件,但 Android 有时
我一直在查看这个文档: http://andengine-doc.googlecode.com/hg/org/anddev/andengine/entity/modifier/SequenceEnti
我试图在升级时删除我的表,它会删除空表,但如果表中有行 - 它不会被删除。 我尝试了以下代码来首先清理表格: @Override public void onUpgrade(SQLiteDatabas
我的应用程序中有一个小部件,每次我安装/删除/更新第 3 方应用程序,因为 onUpdate() 方法可能被调用并且我编写的代码未正确执行。 可以肯定的是,AppWidgetManager 会响应以下
我的应用程序小部件从不转到 onUpdate 函数我添加了 3000 mili 用于测试,但除了第一次添加它之外,它永远不会进入 onUpdate 函数。 我做错了什么? 我的 list 文件:
我是一名优秀的程序员,十分优秀!