我正在尝试为googleappengine重新构建一个关系数据库,但我在建模一组关系时遇到了一些问题,这些关系可以让我高效地查询所需的数据。你知道吗
作为一个人为的例子,假设我有以下模型:
class Rental(db.Model):
# ancestor of one or more RentalDatas
date = db.DateProperty()
location = db.IntegerProperty()
# + customer, etc
class RentalData(db.Model):
# a Rental is our parent
unicorn = db.ReferenceProperty(Unicorn, collection_name='rentals')
mileage_in = db.FloatProperty()
mileage_out = db.FloatProperty()
# + returned_fed, etc
class Unicorn(db.Model):
name = db.StringProperty()
color = db.IntegerProperty()
# 'rentals' collection from RentalData
每次租赁都可以包含多个独角兽,所以如果我能帮忙的话,我宁愿不把Rental
和RentalData
模型结合起来。我几乎总是从一个给定的Unicorn
开始,并且我希望能够查询,比如说,unicorn是否在上一次x租车时返回,而不必迭代unicorn的rentals
集合中的每一个RentalData
并查询父对象,只是为了得到排序的日期。你知道吗
我必须咬紧牙关去正常化吗?我尝试过在RentalData
中复制date
,并在需要属性时根据需要使用parent()来获取相应的Rental
。这很管用,但我担心我只是走简单的路。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐