Frage

Hallo (bitte entschuldigen Sie mich für meine hässliche Englisch: p),

Stellen Sie sich diese zwei einfache Modelle:

from django.contrib.contenttypes import generic
from django.db import models

class SomeModel(models.Model):
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField(_('object id'))
    content_object = generic.GenericForeignKey('content_type', 'object_id')

    published_at = models.DateTimeField('Publication date')


class SomeOtherModel(models.Model):
    related = generic.GenericRelation(SomeModel)

Ich möchte die ARCHIVE_INDEX generic mit SomeOtherModel Ansicht verwenden, aber es funktioniert nicht:

from django.views.generic.date_based import archive_index

archive_index(request, SometherModel.objects.all(), 'related__published_at')

Der Fehler kommt von ARCHIVE_INDEX in Zeile 28 (mit django 1.1):

date_list = queryset.dates(date_field, 'year')[::-1]

Die erhöhte Ausnahme ist:

SomeOtherModel has no field named 'related__published_at'

Haben Sie eine Ahnung, es zu beheben?

Vielen Dank:)

War es hilfreich?

Lösung

Von Graben durch den Django-Quellcode, die allgemeine Ansicht archive_index erscheint nicht verwandte Bereiche zu unterstützen, die GenericRelations sind.

Das ist, weil die queryset Methode dates nicht generische Beziehungen unterstützt. Betrachten wir die Einreichung dies als Fehler / Feature-Request auf dem Django Bug-Tracker.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top