Je conçois un projet simple basé sur la liste de faire. l'idée est de définir les tâches sous le projet (pas de workflow - juste "tâche est terminée" ou pas est nécessaire.) d'une manière hirarchial. c'est-à-dire que chaque tâche a plusieurs tâches et que cette tâche peut avoir d'autres tâches multiples. un projet peut être considéré comme achevé si toutes les tâches de ce projet sont achevées. , je pensais à utiliser la réfrenceproeperty pour créer la hiérarchie, mais je ne pouvais pas trouver de moyen facile (qui ne prend pas plus de 30 secondes pour trouver tous les enfants d'un projet et vérifier la météo, il est terminé ou non). pour détecter si le projet est terminé ou non. comment concevoir la base de données pour un tel travail? et aussi, si j'ai besoin de copier le projet pour définir un autre projet, comment copier des données hiérarchiques?conception de base de données dans le moteur de l'application google
Répondre
La philosophie dominante de l'App La banque de données du moteur, comme pour les autres bases de données nosql, consiste à écrire, pas à lire. En gardant cela à l'esprit, vous pouvez utiliser les relations avec les parents, comme le suggère Adam, et garder un «compte incomplet» sur chaque nœud, qui compte le nombre d'enfants immédiats qui ne sont pas encore terminés. Lorsque vous marquez un nœud complet, décrémentez le nombre de ses nœuds parents; Si cela l'amène à être complet, passez à son parent, et ainsi de suite. Avec une structure comme celle-ci, vous pouvez montrer instantanément si une tâche est terminée ou non.
Il est probablement préférable d'implémenter la hiérarchie des tâches en définissant le parent d'une entité de tâche sur l'entité de tâche ou l'entité de projet à laquelle elle appartient.
Je pense que l'astuce pour trouver si tous les enfants d'un projet sont complets ou non serait d'utiliser des requêtes ANCESTOR.
Si vous créez vos dossiers de tâches telles que leur parent est mis à la tâche ou d'un projet auquel ils appartiennent, vous devriez être capable d'écrire quelque chose comme ceci:
all_done = db.Query().ancestor(project_entity).filter('complete = ', False).count()
if all_done > 0:
#Not all done
else:
#All done
- 1. Conception de la base de données du moteur de recommandation?
- 2. Conception de la base de données Google Analytics
- 3. Base de données de conception
- 4. Conception pour le moteur de rapport
- 5. Question de conception de base de données
- 6. Conception de table de base de données
- 7. question de conception de base de données
- 8. Problème de conception de base de données
- 9. Problème de conception de base de données
- 10. Concepts de conception de base de données
- 11. Question de conception de base de données
- 12. Questions de base de conception de base de données
- 13. Conception de base de données d'inventaire
- 14. Base de données de conception clés étrangères
- 15. Conception de base de données sqlite idéale
- 16. question base de données de conception MySQL
- 17. Problème de requête dans le moteur de l'application Google
- 18. Manipulation de l'objet DateTime dans le moteur de l'application Google
- 19. Conception d'une base de données de jeux
- 20. Conception de base de données - Clarification
- 21. Base de données de conception de téléchargement de données question
- 22. Conception de base de données non structurée
- 23. Application Facebook - conception de base de données de base
- 24. Base de données question de conception
- 25. Conception de schéma de base de données pour MySQL, suggestions?
- 26. modélisation de base de données pour google app moteur pour plusieurs revison de l'entité
- 27. Les valeurs de la base de données du moteur de l'application Google ne s'incrémentent pas
- 28. Conception de base de données pour le système d'affiliation
- 29. Etrange erreur dans le moteur de l'application google
- 30. Base de données de conception: fusionner les utilisateurs de différents systèmes de journalisation (google, facebook, openid ...)
Pour en savoir plus sur la philosophie de «travailler sur l'écriture, pas sur la lecture», vous pouvez visionner la vidéo de l'application Google I/O de Bret Saltkin. Les liens pour les deux vidéos sont intégrés dans mon article de blog détaillé à ce sujet. http://akhilspassion.blogspot.in/2012/12/database-design-for-google-app-engine.html – nanospeck