GAE中数据库列表的值为其他实体的方法
Posted by admin on 25 July, 2009
No comments yet
This item was filled under [ 易懂python ]
处理Tag(标签)和Diary(日志)时出现了问题,因为GAE并没有多对多关联,经过查询资料,可以有一种很简单的办法是在关系的其中一方创建一个的列表,如下:
class Tag(db.Model):
name = db.StringProperty( required = True )
diaries = db.ListProperty(db.Key)
class Diary(db.Model):
title = db.StringProperty( required = True )
content = db.TextProperty()
category = db.ReferenceProperty(Category)
@property
def tags(self):
return Tag.gql(“WHERE diaries = :1″, self.key())
在一篇日志(Diary)贴上标签(Tag)用如下办法即可:tag.diaries.append(diary.key())
获取一篇日志(Diary)的标签(Tag)用diary.tags()即可
这样就比较简单的实现了多对多的关联
欢迎交流:ljy080829@gmail.com
