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:)

¿Fue útil?

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 GenericRelations.

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
scroll top