Django: utiliser archive_index avec date_field d'un modèle connexe
-
12-09-2019 - |
Question
Bonjour (s'il vous plaît excusez-moi pour mon anglais laid: p),
Imaginez ces deux modèles 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)
Je voudrais utiliser la vue générique archive_index avec SomeOtherModel, mais il ne fonctionne pas:
from django.views.generic.date_based import archive_index
archive_index(request, SometherModel.objects.all(), 'related__published_at')
L'erreur provient de archive_index à la ligne 28 (en utilisant django 1,1):
date_list = queryset.dates(date_field, 'year')[::-1]
L'exception soulevée est:
SomeOtherModel has no field named 'related__published_at'
Avez-vous une idée de le réparer?
Merci beaucoup:)
La solution
De fouillant dans le code source Django, la vue générique archive_index
ne semble pas soutenir les domaines connexes qui sont GenericRelation
s.
Ceci est parce que la méthode queryset dates
ne prend pas en charge les relations génériques. Pensez à déposer cela comme un bug / fonctionnalité demande le bug tracker Django.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow