繁体   English   中英

数据库中的受限只读字段(尤其是PostgreSQL和Django ORM)

[英]Constrained read-only field in a DB (especially with PostgreSQL and Django ORM)

我正在建立一个关系数据库结构,其中一个表(例如, 事件表)代表具有开始日期的时间范围。

该表具有以下可以修改的字段:

  • event.start_date :DateTime
  • event.duration :TimeDelta

end_date可以进行计算:

end_date = event.start_date + event.duration

我有从此表中检索元素的代码,这些代码大量使用了end_date属性。

有没有一种方法可以将其存储在表中的某处,使其为只读状态,并且如果event.start_dateevent.duration被修改,则会对其进行更新。

这个想法是要拥有一个一致且非冗余的数据库,但是要快速访问“结果”值(例如end_date )。

蛋糕的糖霜还具有一个event.end_date字段和:

  • 如果event.duration已更新,则event.end_date也将更新。
  • 如果event.end_date已更新,则event.duration将自动更新。

对自己说:

似乎PostgreSQL触发过程 (数据库引擎级别)或Django信号 (应用程序级别)可以完成任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM