【发布时间】:2011-06-05 00:49:28
【问题描述】:
我想知道使用 Model.get_by_key_name() 与 Model.get_by_id() 获取记录
例如,假设我要返回一些 JSON,该 JSON 将用于显示记录表,并且对于每条记录,都有一个用于删除该记录的按钮。假设我有模型“Foo”和模型实例“foo”。
我相信我可以使用以下任一方法将每个按钮与相应的记录相关联:
str(foo.key()) #suppose it eval's to "axhYm92ZZXJvY2tyDgsSCENhnb3J5GBQM"
或
foo.key().id() #suppose it eval's to "57"
其中一个值将进入 HTML 表单,用户可以单击按钮请求删除具有此键/ID 的记录。
然后该请求将导致:
Foo.get_by_key_name("axhYm92ZZXJvY2tyDgsSCENhnb3J5GBQM").delete()
或
Foo.get_by_id(57).delete()
现在,作为一个优柔寡断的 ADHD 程序员,我需要知道……哪种方式是“正确”的方式?它们似乎都有效,但是否存在使一种优于另一种的情况?使用 'key' 方式与 'id' 方式相比有什么优势吗?
【问题讨论】: