Was ist der Unterschied in diesen beiden Implementierungen der Erstellung eines Karussells? Beide scheinen dasselbe zu tun, allerdings hat man explizit Fremdschlüssel definiert. Die erste Implementierung kann einfach durch Aufruf aufgerufen werden, während die zweite Implementierung über einen ParentalKey mit einem Modell verbunden werden muss. Was ist im Grunde die bessere Option, ein Karussell für die Anzeige auf einer Homepage zu implementieren?Karussellmodell Definition oder Block
class ImageCarouselBlock(blocks.StructBlock):
image = ImageChooserBlock()
caption = blocks.TextBlock(required=False)
page = PageChooserBlock()
class Meta:
icon = 'image'
class CarouselItem(LinkFields):
image = models.ForeignKey(
'wagtailimages.Image',
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name='+'
)
link_url = models.models.ForeignKey(
'wagtailcore.Page',
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name='+'
)
caption = models.CharField(max_length=255, blank=True)
panels = [
ImageChooserPanel('image'),
FieldPanel('link_url'),
FieldPanel('caption'),
MultiFieldPanel(LinkFields.panels, "Link"),
]
class Meta:
abstract = True