我有一个尚未创建的对象(因此它没有 ID),但用户正在填写字段以创建它。对于其中一个字段,他们为此对象创建了一个属性,但该属性需要对象的 ID。
这就是问题所在——因为对象尚未实际创建(用户正在填写字段以创建它),所以它没有 ID。当您编辑对象并因此拥有对象的 ID 时,创建属性没有问题。
关系如下:
OBJECT (name, id)
^ ATTRIBUTE (name, object_id, id)
遇到这种情况你是怎么处理的?我正在考虑向对象添加一个“is_temporary”字段,以便它可以立即获得 ID,但肯定有更好的方法吗?
最佳答案
实际上,这是个好问题。您有两个选择:
- 修改“属性”创建代码,以便能够通过客户端表单状态处理创建和保存。
- 使用“is_temporary”字段,并通过定期运行的任务定期清除它们。
后者更容易实现,但需要您在访问对象的所有其他地方包含 is_temporary='false',并且还会在人们取消时弄乱您的 ID 序列。
选择取决于 ATTRIBUTE 创建代码的难度。如果很难让它在创建对象(没有 ID)之前一直保留在表单中,请选择后一个选项。否则,选择前者。
关于javascript - 您如何处理通过 AJAX 保存与尚未创建的对象相关的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1044272/