Tengo el siguiente modelo de clase Java en App Engine:lista vacía en el almacén de datos de Google App Engine: java vs pitón
public class Xyz ... {
@Persistent
private Set<Long> uvw;
}
Al guardar un objeto Xyz con un vacío establece UVW en Java, lo entiendo un campo "null" (como se detalla en el visor de datos del appengine). Cuando intento cargar el mismo objeto en Python (a través de remote_api), como se define por la siguiente clase de modelo de pitón:
class Xyz(db.Model):
uvw = db.ListProperty(int)
me sale un "BadValueError: UVW propiedad se requiere".
Al guardar otro objeto de la misma clase en Python con una lista vacía UVW, el espectador almacén de datos imprimir un campo "falta".
Aparentemente el manejo de almacenamiento de listas vacías difiere entre Java y Python y conduce a objetos "incompatibles".
Por lo tanto mi pregunta: ¿Hay una manera de, ya sea:
- fuerza de Java para almacenar una lista vacía como un campo "perdido",
- fuerza de Python para aceptar con gracia una lista "nulo", como una lista vacía al cargar el objeto?
O cualquier otra sugerencia sobre cómo manejar el campo de la lista vacía en ambos idiomas.
Gracias por sus respuestas!
Gracias, pero al guardar el objeto al almacén de datos del conjunto es * vacío *, no * * nula (mi código es no está claro, debería haber especificado que antes de almacenar el objeto el conjunto es un HashSet vacío). El truco aquí es que la capa de almacén de datos appengine parece convertir el conjunto vacío a valores "nulos" cuando se almacena, y no veo ningún control sobre este comportamiento. –
@ ORranger: Ah, vale. Iba a eliminar esta respuesta, pero la dejaré aquí para que alguien más no venga más tarde y diga lo mismo. – Powerlord