假设我们有两个模型:User和Token.用户可能只有一个令牌,而令牌只能属于一个用户.
来自关系数据库,以下似乎是这样做的方式:
class User(db.Model):
name = db.StringProperty()
class Token(db.Model):
name = db.StringProperty()
owner = db.ReferenceProperty(User)
这当然也会创建User.token_set,这是一个db.Query.
但我真的很想用User.token而不是User.token_set.get()访问令牌,那么怎么样..
class User(db.Model):
name = db.StringProperty()
token = db.ReferenceProperty(Token)
class Token(db.Model):
name = db.StringProperty()
owner = db.ReferenceProperty(User)
现在我可以双向访问它们:User.token& User.owner.并且忽略我自动创建的那些事实.token_set和user_set.
这有什么不对吗?在逻辑方面,在性能方面?
也许我甚至不应该有两个型号.实际上,它们都包含四到五个属性.他们应该只是一个吗?什么时候一个一对一的关系应该被合并到一个模型?
感谢您的任何输入!