假设我有一个博客应用程序,有博客文章和评论。
class BlogPost(ndb.Model):
title = ndb.StringProperty()
description = ndb.TextProperty()
当用户对博客文章发表评论时,我有另一个模型:
class Comment(ndb.Model):
username = ndb.StringProperty()
blog_id = ndb.StringProperty()
created = ndb.DateTimeProperty(auto_now_add=True)
当我查询特定博客文章的所有评论时,我确实:
query = Comment.query(Comment.blog_id==blog_id).order(-Comment.created)
可以吗?我的问题是是否可以将blog_id存储为字符串属性而不是原始整数 ID?我这样做是因为它是一个iOS应用程序,并且长整数ID在我的iOS客户端中导致整数溢出错误。
这种类型的查询扩展没有问题吗?
我能看到的唯一问题是Comment.blog_id
是一个字符串,blog_id
是一个数字,所以你会将字符串与整数进行比较。 如果blog_id
是字符串,那么您是安全的。 ndb/数据存储索引的工作方式,您的查询将与字符串或整数相同(性能方面(。