GAE:在ModelChoiceProperty框中使用keys()的属性

时间:2009-12-11 01:31:50

标签: django google-app-engine django-forms key referenceproperty

我的模型User在另一个模型ReferenceProperty中显示为Group

当我使用GroupMeta创建表单时,表单的值包含许多生成的字符串。我想停止此操作,并使用username的{​​{1}}字段代替。

我已经定义了User。但是,key_name仍然会生成一个生成的字符串。我可以覆盖str(user.key()),但那会很糟糕。有什么想法吗?我希望Group表单使用key() s作为ModelChoiceProperty值,并且表单仍然可以验证和保存。目前,表单根据来源打印字符串值username

2 个答案:

答案 0 :(得分:0)

key()中的db.model是一个包含大量不同信息的对象,包括对象类型,nameid

所以我认为key().name()会返回你想要的东西吗?

docs中,它描述了所有这些。

答案 1 :(得分:0)

考虑到这一点有点困难,我认为正确答案是“不要那样做”。 Entity仍然有密钥,这些密钥对应于生成的字符串。该表单必须被黑客攻击以使其工作,所以这看起来很麻烦,从根本上使代码看起来更漂亮。