我想知道使用Model.get_by_key_name()vs Model.get_by_id()获取记录
例如,假设我返回一些将用于显示记录表的JSON,并且对于每个记录,都有一个删除该记录的按钮.假设我有模型'Foo'和模型实例'foo'.
我相信我可以使用以下任一方法将每个按钮与相应的记录关联:
str(foo.key()) #suppose it eval's to "axhYm92ZZXJvY2tyDgsSCENhnb3J5GBQM"
Run Code Online (Sandbox Code Playgroud)
要么
foo.key().id() #suppose it eval's to "57"
Run Code Online (Sandbox Code Playgroud)
其中一个值将进入HTML表单,用户可以单击按钮,该请求将使用此键/ id删除记录.
然后该请求将导致:
Foo.get_by_key_name("axhYm92ZZXJvY2tyDgsSCENhnb3J5GBQM").delete()
Run Code Online (Sandbox Code Playgroud)
要么
Foo.get_by_id(57).delete()
Run Code Online (Sandbox Code Playgroud)
现在,作为犹豫不决的ADHD程序员,我需要知道......这是"正确的"方式吗?他们似乎都工作,但是有哪些情况使一个人比另一个更好?使用'key'方式与'id'方式有什么好处?