mysql时间字段自动填充
Posted TestingShare
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql时间字段自动填充相关的知识,希望对你有一定的参考价值。
场景
数据库中的表需要两个字段,创建时间,更新时间。
了解mysql有这个机制,可以自动填充,就百度了下,就是不知道用了之后有什么弊端。
alter table `issue` add column createTime datetime default CURRENT_TIMESTAMP after `jira_id`
alter table `issue` add column updateTime datetime default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP after `jira_id`
创建时间字段,只需要设置默认值为: CURRENT_TIMESTAMP
更新时间字段需要增加个列属性:ON UPDATE CURRENT_TIMESTAMP
现在知道创建时间字段有新增数据就会创建时间,目前还不确定更新字段,有哪几种情况下,是不会自动更新时间的。
自动填充字段
【中文标题】自动填充字段【英文标题】:Auto fill field 【发布时间】:2017-11-22 08:06:29 【问题描述】:在 account.analytic.lines 我有字段编号。每个项目都有数字字段。 所以你的目标是当我在行中输入数字字段时自动填充行中的 project_id 字段。
class AccountAnalyticLine(models.Model):
_inherit = 'account.analytic.line'
number = fields.Integer(related='project_id.number',string='Project Number')
@api.onchange('number')
def get_project_id(self):
v=
if self.number:
project = self.env['project.project']
if project.project_id.id:
v['project'] = project.project_id and project.project_id.id or False
return 'value': v
【问题讨论】:
【参考方案1】:试试这个:
@api.onchange('number')
def get_project_id(self):
# in new api no need for return and you can
# affect change directly to self
project = false
if self.number:
project_obj = self.env['project.project']
# now search for project that have the same number
porject = project_obj.search([('number', '=', self.number)], limit=1)
self.project_id = project
# if you want to show a warning when user fillup
# the number field and there is no project found
if not self.project_id and self.number:
# number is not empty but there is no project with this number
return 'warning':
'title': _("Project Warning"),
'message': _('No project found with this number : %s ') % self.number
别忘了导入翻译工具:
# 10.0
from odoo.tools.translate import _
【讨论】:
检查我的编辑,您可能想为您的用户添加警告消息以上是关于mysql时间字段自动填充的主要内容,如果未能解决你的问题,请参考以下文章
根据下拉选择自动填充文本字段,其中所有值都来自 MYSQL 表