2014-07-18 7 views
0

J'ai écrit un petit script démon qui va vérifier l'état du champ modèle (Foo) et s'il est 0 puis mettre à jour un autre modèle (Barre) et s'il est 1 alors ne rien faire .Le démon django ne parvient pas à lire les mises à jour de base de données

Le démon tourne bien, et il met à jour que nous attendions si le statut des modèles est 0.

S'il vous plaît trouver le lien vers le script d'ici: click

Mais une fois que nous commençons le script démon , il est incapable de lire les modifications de la base de données après cela. Signifie qu'après le démarrage du démon même si un objet est créé dans le modèle Foo avec l'état 0, le démon n'est pas capable de le lire, par conséquent la barre du modèle n'est pas mise à jour comme prévu.

Comment puis-je résoudre ce problème?

+1

les enregistrements ne s'affichent que lorsque vous appelez manuellement \ _commit] (http://stackoverflow.com/questions/1107091/multiple-processes-accessing-django-db-backend-records-not-showing-up-until-man) –

+0

Vous avez un problème avec votre niveau d'isolation par défaut ... –

+0

@brunodesthuilliers: Je viens d'avoir la solution. veuillez trouver la réponse ci-dessous. – Jinesh

Répondre

0

Le problème fondamental était, lors des vérifications de processus de démon suivantes, l'état de la base de données était le même que lorsque le démon a démarré.

J'ai reçu un indice pour la solution de ce link.

Avant chaque requête orm, je réinitialisais la connexion et maintenant l'orm lit la base de données mise à jour. Possible duplication de [Processus multiples accédant à Django db backend;

Questions connexes