Ich baue ein FAQ-Plugin, das eine Liste von Fragen und Antworten auf meiner Django CMS-Seite anzeigen wird. Ich habe folgendes Modell:Django CMS alle Modelle im Admin definiert
class Faq(models.Model):
question = models.CharField(
'question',
blank=False,
default="",
help_text=u'Please type in the question',
max_length=256,
)
answer = HTMLField(configuration='CKEDITOR_SETTINGS_BASIC',
null=True,
help_text=u'Please provide an answer. if you paste HTML make sure to cmd+shift+v for plain paste')
def __unicode__(self): # Python 3: def __str__(self):
return self.question
Was ich im Admin definiert:
class FaqAdmin(admin.ModelAdmin):
model = Faq
extra = 3
admin.site.register(Faq, FaqAdmin)
Und ich habe ein paar Instanzen als Inhalte hinzugefügt.
Vorerst im Plugin definiert 10 Fragen:
class FaqPluginModel(CMSPlugin):
faq1 = models.ForeignKey(Faq, related_name='faq1+')
faq2 = models.ForeignKey(Faq, related_name='faq2+')
faq3 = models.ForeignKey(Faq, related_name='faq3+')
faq4 = models.ForeignKey(Faq, related_name='faq4+')
faq5 = models.ForeignKey(Faq, related_name='faq5+')
faq6 = models.ForeignKey(Faq, related_name='faq6+')
faq7 = models.ForeignKey(Faq, related_name='faq7+')
faq8 = models.ForeignKey(Faq, related_name='faq8+')
faq9 = models.ForeignKey(Faq, related_name='faq9+')
faq10 = models.ForeignKey(Faq, related_name='faq10+')
def __unicode__(self):
return self.faq1.question
jedoch dieser Ansatz nicht skalierbar ist. Ich suche nach einer Möglichkeit, alle Modelle vom Admin zu holen und sie im HTML der Schablone darzustellen. Etwas in der Form von: