Publique un ndb StructuredProperty _Message__decoded_fields

Mi problema:

Estoy intentando llenar un modelo de almacén de datos en GAE que contiene una propiedad estructurada ndb () usando una solicitud 'POST'.

Esta pregunta se hizo recientemente pero no se respondió (¿Cómo "PUBLICAR" ndb.StructuredProperty?)

Tengo los siguientes dos modelos:

class Check(EndpointsModel):
    this = ndb.StringProperty()
    that = ndb.StringProperty()

class CheckMessage(EndpointsModel):
    check = ndb.StructuredProperty(Check)

Estoy tratando de publicar estos datos:

{
    check:
    {
        "this":"test",
        "that":"test"
    }
}

con la siguiente solicitud de API:

@CheckMessage.method(name='check_insert',path='check/insert',http_method='POST')
    def check_insert(self,request):
        print(request)

Al publicar desde el cliente recibo lo siguienteerror:

AttributeError: 'Check' object has no attribute '_Message__decoded_fields'
La cuestión:

Desde mi muy alto nivel de comprensión del módulo endpoints-proto-datastore parece que cuando el json se está decodificando y guardando en el mensaje entrante (utils.py línea 431) no está buscando propiedades estructuradas / estructuradas localmente y guardando sus claves como bueno, todo está bien hasta que FromValue (ndb / model.py línea 115) verifica instancias de propiedades estructuradas e intenta convertir recursivamente la propiedad estructurada del mensaje protorpc en una entidad modelo (que necesita los _Message__decoded_fields).

Sasxa (ver el enlace de arriba) había encontrado una pequeña solución ingeniosa para este problema mediante el uso de EndpointsAliasProperty convertida en una clase de mensaje ProtoRPC para evitar la conversión automática de endpoints-proto-datastore de la propiedad estructurada en su entidad modelo asociada, sin embargo, esta solución tuvo algunos efectos secundarios eso hizo que lo que intentaba hacer fuera difícil.

La pregunta:

Alguien sabe cómocorrectamente llene un modelo de almacén de datos que contenga una propiedad estructurada utilizando una solicitud 'POST', y ¿hay algún ejemplo de esto disponible?

Respuestas a la pregunta(0)

Su respuesta a la pregunta