Je suis un peu nouveau sur le système de modèles de moteur d'applications google (et tous les modèles de base de données d'ailleurs), et j'essaie de comprendre comment faire un modèle d'une collection d'instances de modèle comme l'un des Propriétés. Quelque part, je pense qu'il doit y avoir une meilleure façon de modéliser les données que j'ai.Google App Engine Model Parents
Voici donc l'exemple. J'écris une webapp de journal. Je veux permettre aux utilisateurs d'avoir des revues multible tel que défini par le modèle Journals
#Represents a collection of journals
class Journals(db.Model):
user = db.UserProperty()
journals = db.ListProperty(int) #there has to be a better way of keeping track of journals then by a list of their id
Dans la propriété journals
je garde une liste des id du modèle Journal
(ci-dessous).
class Journal(db.Model):
user = db.UserProperty()
name = db.StringProperty()
date_created = db.DateTimeProperty(auto_now_add=True)
last_modified = db.DateTimeProperty(auto_now=True)
journal_item = db.ListProperty(int)
Dans le modèle Journal je stocke une liste des id de JournalItem
cas comme une liste de numéro d'identité
class JournalItem(db.Model):
user = db.UserProperty()
name = db.StringProperty()
date_created = db.DateTimeProperty(auto_now_add=True)
last_modified = db.DateTimeProperty(auto_now=True)
content = db.StringProperty(multiline=True)
Je suppose que la question est vraiment comment dois-je modéliser des données avec cette structure (I omettais quelques propriétés pour le simplifier) (montré dans json).
"Journals": {
"Journal": {
"user": "GAE user object",
"name": "journal 1",
"JournalItems": {
"JournalItem": {
"name": "entry 1",
"content": "some example content"
},
"JournalItem": {
"name": "entry 2",
"content": "some example content"
},
"JournalItem": {
"name": "entry n",
"content": "some example content"
}
}
}
"Journal": {
"user": "GAE user object",
"name": "journal 2",
"JournalItems": {
"JournalItem": {
"name": "entry 1",
"content": "some example content"
},
"JournalItem": {
"name": "entry 2",
"content": "some example content"
},
"JournalItem": {
"name": "entry n",
"content": "some example content"
}
}
}
}
J'espère que ce n'était pas trop long pour être agaçant. Toute aide à ce sujet serait grandement appréciée.
Merci, je ne savais rien au sujet de la différence entre les bases de données non relationnelles et les relationnelles. Je lis sur eux et maintenant je comprends. – giodamelio