Django: utilizzare archive_index con date_field da un modello correlato
-
12-09-2019 - |
Domanda
Ciao (prego di scusarmi per la mia brutta inglese: p),
Immaginate di questi due modelli semplici:
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)
Vorrei utilizzare la vista archive_index generico con SomeOtherModel, ma non funziona:
from django.views.generic.date_based import archive_index
archive_index(request, SometherModel.objects.all(), 'related__published_at')
L'errore deriva dal archive_index alla linea 28 (Django 1.1):
date_list = queryset.dates(date_field, 'year')[::-1]
L'eccezione sollevata è:
SomeOtherModel has no field named 'related__published_at'
Hai qualche idea per risolvere il problema?
La ringrazio molto:)
Soluzione
Dalla scavare attraverso il codice sorgente Django, la vista generico archive_index
non sembra supportare campi correlati che sono GenericRelation
s.
Questo perché il metodo set di query dates
non supporta rapporti generici. Considerare il deposito di questo come una richiesta di bug / funzione sul bug tracker Django.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow