Domanda

Ciao (prego di scusarmi per la mia brutta inglese: p),

Immaginate di questi due modelli semplici:

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)

Vorrei utilizzare la vista archive_index generico con SomeOtherModel, ma non funziona:

from django.views.generic.date_based import archive_index

archive_index(request, SometherModel.objects.all(), 'related__published_at')

L'errore deriva dal archive_index alla linea 28 (Django 1.1):

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

L'eccezione sollevata è:

SomeOtherModel has no field named 'related__published_at'

Hai qualche idea per risolvere il problema?

La ringrazio molto:)

È stato utile?

Soluzione

Dalla scavare attraverso il codice sorgente Django, la vista generico archive_index non sembra supportare campi correlati che sono GenericRelations.

Questo perché il metodo set di query dates non supporta rapporti generici. Considerare il deposito di questo come una richiesta di bug / funzione sul bug tracker Django.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top