代码之家  ›  专栏  ›  技术社区  ›  vbt

如何获取变量“write\u date”的值

  •  3
  • vbt  · 技术社区  · 6 年前

    在奥多,每个模特都会有 write_date 将存储记录上次编辑的时间和日期的列。我想将该字段的值转换为变量/字段。但当我打印这个时,它正在打印 False .怎么办。?

    密码

    variable = self.write_date
    

    提前感谢。。

    2 回复  |  直到 6 年前
        1
  •  5
  •   forvas    6 年前

    问题是你要进去了 self 新记录集( 奥多。型号。0x7fe0c05717d0处的NewId对象 ).因此,您试图获得 write_date 尚未创建的记录。如果记录从未被更新(甚至没有创建),那么它在 write\u日期

    记住这一点 write\u日期 存储更新记录的最新日期。

    因此,首先,至少必须创建记录,然后才能应用以下内容: variable = self.write_date

    但看看这个:

    What's happening with these transient models' IDs?

    也许你得到了 write\u日期 在不创建记录的情况下,尝试以下操作: variable = self._origin.write_date

        2
  •  1
  •   vbt    6 年前

    尽管我们可以在表中看到一个名为write\u date的字段,但首先,我们要做的是在模型中添加一个名为write\u date的字段,然后进行相同的尝试。

    write_date = fields.Datetime(string='Write Date') 解决了我的问题。谢谢大家的帮助。