2017-02-02 1 views
0

Ich bin am Aufbau einer Anwendung und es war einfacher für mich, die JSON Antwort zu denken, die ich bekomme, wenn ich eine bestimmte URL treffe und dann auf dieser Grundlage versuche ich jetzt meine Modelle zu bauen .Erstellen/Raten der zugrunde liegenden Modelle von JSON Antwort

JSON sieht wie folgt aus:

{ 
    "idea": { 
    "title": "", 
    "description": "", 
    "tags": [ 
     "", 
     "", 
     "" 
    ], 
    "priority": "", 
    "PD": [ 
     { 
      "question": "what's your name?", 
      "answer": "" 
     }, 
     { 
      "question": "what's your address?", 
      "answer": "" 
     }, 
     ], 
    "TOC": [ 
     { 
      "question": "Age?", 
      "answer": "" 
     }, 
     { 
      "question": "Gender?", 
      "answer": "" 
     }, 
    "issues": [ 
     "issue1", 
     "issue2" 
    ], 
    "tasks": [ 
     "task1", 
     "task2" 
    ], 
    "note": "", 
    "image": [ 
     "base64(1)", 
     "base64(2)" 
    ] 
    } 
} 

Ich begann Modelle wie folgt zu schaffen (dies mehr oder weniger Django Syntax für die Modelle ist, aber ich denke, Logik die gleiche für jeden Rahmen bleibt):

class Tag(): 
    name = string; 
    idea = ForeignKey(Idea); 

class Prototype(): 
    base64 = string; 
    idea = ForeignKey(Idea); 

class Issue(): 
    name = string; 
    idea = ForeignKey(Idea); 
    task = ManyToMany(Task); 

class Task(): 
    name = string; 
    idea = ForeignKey(Idea); 

class Idea(): 
    title = string; 
    description = string; 
    priority = string; 
    note = string; 

Ich bin mir nicht sicher über die PD, TOC und HOW Teile. Könnten sie Attribute der Idee sein oder könnten sie getrennte Modelle sein und in welchem ​​Fall könnte die Beziehung zwischen ihnen sein?

Antwort

1

Sie konnten entweder:

Sie gerade sie als Json mit einem Feld JSON halten konnte

oder sie könnten eine OneToOne Beziehung über eine OneToOneField

class Idea(): 
    pd = OneToOneField(Question) 
    toc = OneToOneField(Question) 

class Question(): 
    question = 'foo' 
    other_question = 'bar' 
+0

JSONfield sieht erstaunlich, ich didn Ich weiß nichts darüber. Vielen Dank! – Nitish

Verwandte Themen