2017-05-23 1 views
0

Bonjour, je suis nouveau à Wagtail et je me demandais s'il y avait un moyen simple d'ajouter plusieurs téléchargements à un seul type de page. J'ai créé un type de page personnalisé et j'aimerais pouvoir ajouter plusieurs documents/téléchargements. J'ai réussi à en montrer un, mais je ne vois aucun moyen de l'étendre pour en ajouter beaucoup.Chargements multiples de documents vers Wagtail Page

downloads = models.ForeignKey('wagtaildocs.Document', null=True, on_delete=models.SET_NULL) 

content_panels = Page.content_panels + [ 
    DocumentChooserPanel('downloads'), 

Répondre

1

Vous pouvez le faire avec un modèle enfant associé à votre modèle de page, via un ParentalKey et un InlinePanel. Le tutoriel à http://docs.wagtail.io/en/v1.10.1/getting_started/tutorial.html#images donne un exemple - votre configuration est très similaire, avec la seule différence étant que vous liez des documents à la page plutôt que des images:

class MyPage(Page): 
    ... 
    content_panels = Page.content_panels + [ 
     InlinePanel('documents', label="Documents") 
    ] 

class MyPageDocumentLink(Orderable): 
    page = ParentalKey(MyPage, related_name='documents') 
    document = models.ForeignKey(
     'wagtaildocs.Document', on_delete=models.CASCADE, related_name='+' 
    ) 

    panels = [ 
     DocumentChooserPanel('document'), 
    ] 
+0

Brilliant - fonctionne comme un charme, merci beaucoup. Je ne suis pas sûr si j'ai suffisamment de rep pour accepter cependant :(. – nmcilree

+0

Heureux que cela fonctionne! (Je suis assez sûr que d'accepter des réponses à vos propres questions est toujours possible indépendamment de rep ...) – gasman

+0

Ah - là nous allons, je pensé qu'il y aurait un gros bouton "Accepter" plutôt que la coche. – nmcilree