我正在尝试创建一个 ndb 模型,其中每条记录都有一个唯一的字段“名称”。我想将此字段定义为 key_name 字段并使用它来查找记录。我是否必须包含一个名称字段,或者我可以以某种方式将 key_name 字段设置为用户可以指定的任意字符串,只要它是唯一的?
我正在考虑使用 Model.get_or_insert 来确保旧记录不会被覆盖,但是有没有办法判断返回值是新创建的还是预先存在的?如果用户输入了重复的名称,我希望能够显示错误消息。
最后,我尝试在使用上述 ndb 模型作为元类的 DjangoForms 模型上创建一个 key_name 字段,因此我可以使用 djangoforms 进行验证/渲染,但由于某种原因,我定义的字段没有显示。
类 UserProfileForm(djangoforms.ModelForm): key_name = djangoforms.StringProperty() 类 Meta: 模型 = UserProfile