我正在建立一个网站,让人们可以创建词汇课程。创建课程时,会创建引用课程的新闻项目。当另一个用户练习课程时,用户还会将练习结果与练习结果一起存储。
我的问题是当用户决定删除课程时该怎么办?
我考虑的选项是:
你有什么想法?如果数据永远不会被删除,ala Facebook?是否应该一起避免引用?
顺便说一句,我正在使用Google App Engine(python / datastore)。在我删除被引用的对象时,db.ReferenceProperty没有设置为None?
谢谢!
答案 0 :(得分:1)
如果需要审核数据更改,则将数据标记为已删除(也称为“软删除”)会有很大帮助,特别是如果您记录了执行删除操作的用户及其发生的时间。它还允许非常容易地“取消删除”数据。
说过没有理由阻止“硬删除”(实际删除数据)作为管理功能来帮助整理错误。
答案 1 :(得分:0)
将数据标记为“已删除”最简单。如果您目前没有使用它,这可以使数据库中的所有内容保持整洁,并且可以轻松添加新功能。
另一方面,如果你正在做一些事情,比如向用户展示他们的“词汇点”来自何处,或者他们已经完成了多少课程,那么可能需要引用软删除的项目。
我从第一个开始,如果需要,可以稍后更改。原因如下:
不创建软删除功能可为您提供更多选项。 Options have value. Options expire. Never commit early unless you know why.