Bonjour à tous,
Cela fait un moment que je suis Zeste de Savoir et je profite de mon message pour féliciter l'initiative et le travail associé.
Je commence actuellement le développement d'un site Internet avec Django, mais je ne souhaite pas utiliser de base de données. Je dois faire des requêtes vers un serveur REST pour manipuler mes données. Par exemple, la requête suivante va me produire la réponse suivante :
Requête :
1 | GET http://server/user/1 |
Réponse :
1 2 3 4 | { id: 1 username: toto } |
Je cherche à pouvoir exécuter cette requête, puis en récupérer le résultat de la manière suivante :
1 2 | user = User.objects.get(id = 1) print user.username # Affiche "toto" |
N'ayant pas trouvé de documentation pour faire cela de manière assez simple je me permets de faire ce message. Si cela aboutit j'espère pouvoir engendrer un mini-tuto sur le sujet…
Maintenant, mon serveur REST m'interdit de récupérer la liste de tous les utilisateurs, ou plutôt n'implémente pas cette fonctionnalité. De ce fait la requête suivante aboutit à une erreur 404 :
1 | GET http://server/users |
La requête suivante devra donc lever une exception :
1 | User.objects.all() |
Il faut donc que je sois en capacité de :
- Définir quels filtres sont possibles ou pas à travers la méthode get()
- Définir si la méthode all() est appelable
- Idem pour save() et éventuellement d'autres méthodes
- Et certainement d'autres choses que j'oublie
Pour ce faire je pensais écrire un backend à l'image de django.db.backends.sqlite3. Certaines fonctionnalités ne pourront bien entendu pas fonctionner telles que manage.py syncdb.
Voici (enfin) mes questions :
- Estce que cela a-t-il déjà été implémenté à votre connaissance ? Pour le coup Google ne m'a pas aidé
- Où pourrais-je trouver une documentation pour écrire un backend à ma sauce ?
- Est-ce une bonne idée ?
- Est-ce que je dois revoir ma façon de récupérer mes données (c'est-à-dire sans utiliser User.objects....) ?
La condition sine qua non étant que je dois manipuler mes données en faisant des requêtes vers un serveur REST. Dans mon exemple il ne s'agissait qu'un get mais je dois pouvoir ajouter, mettre à jour ou supprimer des données en fonction des limites imposées par le serveur.
Merci par avance pour votre aide, j'espère ne pas avoir fait trop long.