我希望能够使用 Google Endpoints 直接从消息中自动插入一个引用另一个实体的实体。
ReferenceProperty
为了在消息中传输,我使用Key
. 这对于发送消息很好,但是在接收消息并创建它的实体时,我不能只将编码字符串作为参数传递给构造函数。
例如,假设我有两个继承自BaseModel
其自身继承自的类db.models
class TestModel2(models.BaseModel):
test_string = db.StringProperty(required=True)
class TestModel(models.BaseModel):
test2 = db.ReferenceProperty(TestModel2)
test2_id = property(models.BaseModel._get_attr_id_builder('test2'),
models.BaseModel._set_attr_id_builder('test2'))
和一个消息类
class TestModelMessage(messages.Message):
test2_id = messages.StringField(4)
我希望能够Entity
TestModel
直接创建一个TestModelMessage
.
我设法使用属性以另一种方式(从实体到消息)来做到这一点。但另一方面它不起作用,因为我觉得构造函数db.models
只会设置继承的属性db.Property
。因此不会调用该属性的设置器...
我怎么能这样做?
我想过覆盖__init__
inBaseModel
但是当调用它__init__
时db.models
它可能会覆盖ReferenceProperty
.