Django: uso archive_index com date_field a partir de um modelo relacionado
-
12-09-2019 - |
Pergunta
Olá (por favor, desculpe-me para o meu feio Inglês: p),
Imagine que estes dois 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)
Eu gostaria de usar o ponto de vista genérico archive_index com SomeOtherModel, mas ele não funciona:
from django.views.generic.date_based import archive_index
archive_index(request, SometherModel.objects.all(), 'related__published_at')
O erro vem de archive_index na linha 28 (usando Django 1.1):
date_list = queryset.dates(date_field, 'year')[::-1]
A exceção levantada é:
SomeOtherModel has no field named 'related__published_at'
Você tem alguma idéia para corrigi-lo?
Muito obrigado:)
Solução
De cavar através do código-fonte do Django, o ponto de vista genérico archive_index
não parece apoiar campos relacionados que são GenericRelation
s.
Isso ocorre porque o método queryset dates
não suporta relações genéricas. Considerar a declaração este como um pedido bug / recurso sobre o rastreador de bug do Django.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow