A Django ObjectSyncer between a server and multiples clients
Project description
Django Object Syncer
Django application allowing a server instance to track modifications of instance of certain models and push them to remote clients.
In summary, how does it work ?
Two abstract classes exist: VersioningBaseModel and TrackingAndVersioningBaseModel.
The versioning base model have the following fields :
- a UUID (version 4), unique for this model
- a version, starting at 1
- a creation datetime
- a last edition datetime
- an inactive flag
The tracking and versioning base model have the following field added to the fields of VersioningBaseModel.
- an active state by applications
It is then possible to create a monitored Model :
class VersioningFakeClass(TrackingAndVersioningBaseModel): """ A code """ code = models.CharField(max_length=20) """ A name """ name = models.CharField(max_length=250) """ Tracker """ tracker = FieldTracker()
An Application is a remote application that must be updated with each change. ach application contains a remote Rest API endpoint and an Authorization Key.
For each change, a JobChange is created per application. A cron job will then consume JobChanges by making a POST request on the endpoint API of each application.
At the customer level, they dynamically process the fields to keep only those present in their model (each customer does not need all the fields).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file django-objectsyncer-1.0.1.tar.gz
.
File metadata
- Download URL: django-objectsyncer-1.0.1.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46b220b986321546f276b6fe6fec56127065dc87c7b48f9660984608f6c359c6 |
|
MD5 | ca11a13ab42e643d1764f5c7e64a6a9f |
|
BLAKE2b-256 | e85108f7d01f6ba5508582565e89ed511b21a9aa99de185f81c44e9949f64abd |
File details
Details for the file django_objectsyncer-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: django_objectsyncer-1.0.1-py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e655647ebea2e256510aa4c4798e3bac93cd2f60525a40381e7a204bbe3aec7f |
|
MD5 | aec7410db4cbcda4fe0822a73faaee1a |
|
BLAKE2b-256 | 673b161ba787b8d79c1e62f478d1938e08b6bccadecdae08563d0320ca682df9 |