Django: utilizar archive_index con date_field de un modelo relacionado
-
12-09-2019 - |
Pregunta
Hola (por favor, perdón por mi fea Inglés: p),
Imagínese estos dos modelos simples:
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)
Me gustaría utilizar la vista archive_index genérico con SomeOtherModel, pero no funciona:
from django.views.generic.date_based import archive_index
archive_index(request, SometherModel.objects.all(), 'related__published_at')
El error proviene de archive_index en la línea 28 (usando django 1.1):
date_list = queryset.dates(date_field, 'year')[::-1]
La excepción se plantea es:
SomeOtherModel has no field named 'related__published_at'
¿Tiene usted alguna idea para solucionarlo?
Muchas gracias:)
Solución
A partir de la excavación a través del código fuente de Django, la vista genérica archive_index
no parece apoyar campos relacionados que son GenericRelation
s.
Esto es debido a que el método de dates
queryset no soporta las relaciones genéricas. Considerar presentar esto como un informe de error / función en el seguimiento de errores de Django.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow