2009-07-01 9 views
2

J'écris une application qui ont des relations récursives comme celui-ci (pseudo-code):définir une relation modèle django

class atist: 
     name = charfield 
     (...) 

class press: 
     pub = foreingkey(artist) 

class works: 
     work = foreingkey(artist) 

class img: 
     im = foreingkey(works) 

Je songeais si cela est la meilleure approche pour résoudre ce problème, ou si je utiliserait un autre type de relation comme beaucoup à beaucoup? et pour l'autre côté comment je peux enregistrer cette application dans le site d'administration pour avoir seulement une page pour l'artiste avec les travaux et la presse comme objets en ligne de l'artiste?

grâce

+0

On m'a recommandé le site de documentation de Django comme référence, mais je trouve que ce genre de choses n'est pas clair. C'est une excellente question dont j'aimerais connaître la réponse. – AlbertoPL

Répondre

5

Si un comité d'entreprise, ou img presse ne sera jamais se rapporter à un artiste, alors vous n'avez pas besoin beaucoup à beaucoup, donc la façon dont vous avez la configuration de votre pseudo-code devrait suffire.

Vous pouvez consulter le fichier en ligne pour l'administrateur. Vous pouvez spécifier des choses telles que le nombre d'articles en ligne pour montrer de chaque type, etc.

class MyModelInline(admin.StackedInline): 
     model = MyModel 
     # whatever other options you need for your inline 

class MyModelAdmin(admin.ModelAdmin): 
     inlines = [MyModelInline,] 

Quelque chose comme ça devrait fonctionner pour vous. Comme AlbertoPL dit, il y a plus d'informations dans les docs avec toutes les différentes options et fonctionnalités dont vous auriez besoin.

Questions connexes