No tengo idea sobre Django y PostgreSQL, pero puedo describir una lógica para lo mismo.
Hay dos tipos de sincronización. Sincronizaciones mono direccionales y bidireccionales.
Sincronización direccional mono:
- ¿Cómo funciona la arquitectura Handler and Message Passing en Android?
- ¿Cuál es la forma más eficiente de diseñar aplicaciones de Android receptivas para que los diseños y elementos (texto / imágenes) escalen bien en función del tamaño del dispositivo móvil?
- Cómo hacer una aplicación de noticias a la que necesito actualizar todos los días con Android Studio
- ¿Puedo tener contenido múltiple dentro de una columna en SQLite en Android?
- ¿Existe una aplicación que te notifique cada vez que una carretera por la que conduces habitualmente está cerrada?
Básicamente, debe crear un caché fuera de línea del modelo de datos de su servidor que desea sincronizar cuando el usuario se conecta. Puede agregar algunas banderas a este conjunto de datos fuera de línea;
Ejemplo : la aplicación Contactos usa una dirty
en su base de datos para los contactos recién agregados / eliminados / modificados mientras el usuario está desconectado y cuando el usuario se conecta, intenta enviar estos datos dirty
al servidor. Hasta que el servidor devuelva el indicador de respuesta afirmativa no se elimina.
En el backend, la API de contact/
update
debe actualizar estos datos de contacto dirty
y dar una respuesta afirmativa a la persona que llama.
Sincronización bidireccional:
Este tipo casi funciona de manera similar a Mono Directional. Pero en esta sincronización, necesitará un parámetro más importante que decida la precedencia de los datos, por ejemplo, el tiempo de cambio. Dependiendo de este parámetro, actualice los datos dirty
enviados al servidor y devuelva afirmativamente o envíe los datos actualizados precedentes desde el backend a través de la misma API.
PD: En realidad, la aplicación de contactos usa diferentes tecnologías en el backend de las que estás usando actualmente, pero el lenguaje y los marcos no importan en la lógica.