1

Bonjour (s'il vous plaît excusez-moi pour mon laid anglais: p),Django: utilise archive_index avec date_field d'un modèle lié

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 le archive_index avec vue générique 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 vient de archive_index à la ligne 28 (en utilisant django 1.1):

date_list = queryset.dates(date_field, 'year')[::-1] 

L'exception soulevée est la suivante:

SomeOtherModel has no field named 'related__published_at' 

Avez-vous la moindre idée de le réparer?

Merci beaucoup :)

Répondre

1

de creuser à travers le code source Django, la vue générique archive_index ne semble pas soutenir les domaines connexes qui sont GenericRelation s. Cela est dû au fait que la méthode de l'ensemble de requêtes dates ne prend pas en charge les relations génériques. Pensez à classer cela comme une demande de bug/fonctionnalité sur le traqueur de bogues de Django.

+0

Ok, merci pour votre réponse. :) – user176455

+0

Cela semble toujours être le cas à partir de Django 1.8 – Basil

Questions connexes