你好(请原谅我丑陋的英语:p),
想象一下这两个简单的模型:
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)
我想将archive_index通用视图与SomeOtherModel一起使用,但它不起作用:
from django.views.generic.date_based import archive_index
archive_index(request, SometherModel.objects.all(), 'related__published_at')
错误来自第28行的archive_index(使用django 1.1):
date_list = queryset.dates(date_field, 'year')[::-1]
引发的例外是:
SomeOtherModel has no field named 'related__published_at'
您有什么想法解决它吗?
非常感谢:)
答案 0 :(得分:1)
从挖掘Django源代码开始,通用视图archive_index
似乎不支持GenericRelation
s的相关字段。
这是因为queryset方法dates
不支持通用关系。考虑将此作为Django错误跟踪器上的错误/功能请求进行归档。