gpt4 book ai didi

python - 使用 App Engine 创建模型类时如何要求 key_name?

转载 作者:太空宇宙 更新时间:2023-11-03 23:48:44 24 4
gpt4 key购买 nike

我想要求我的模型类之一将我自己的自定义键指定为 key_name,这样我就可以始终依赖它。我怎么能要求这个?例如,我可能有一个模型类,例如:

class Account(db.Model):
user = db.UserProperty(required=True)
email = db.EmailProperty()

而且我想要求始终指定 key_name,要求以如下方式实例化:

    user_obj = users.get_current_user()
new_user = Account(user=user_obj, key_name=user.user_id())
new_user.put()

如何做到这一点?提前致谢

最佳答案

您可以使 Account 模型的所有实例化都通过一个简单的工厂函数(也许将类本身命名为 _Account 以向项目中的其他编码人员阐明该类本身就是私有(private)的):

def make_account(key_name=None, **k):
if key_name is None:
raise ValueError('Must specify key_name for account!')
return _Account(key_name=key_name, **k)

你可以变得更复杂,并在 Account 类的 classmethod 中完成它(用一些检查覆盖后者的 __init__ 使其不可能不小心从其他地方调用),&c,但这是核心思想:“在您的应用程序级代码中执行”。

关于python - 使用 App Engine 创建模型类时如何要求 key_name?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3673721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com