سؤال

مرحبا (يرجى إسماع لي أن الإنجليزية القبيح: 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)

أرغب في استخدام عرض الأرشيف_INDEX GENEDIC مع SnotherModel، لكنه لا يعمل:

from django.views.generic.date_based import archive_index

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

يأتي الخطأ من Archive_index في السطر 28 (باستخدام Django 1.1):

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

الاستثناء المرتفع هو:

SomeOtherModel has no field named 'related__published_at'

هل لديك أي فكرة لإصلاحها؟

شكرا جزيلا :)

هل كانت مفيدة؟

المحلول

من الحفر من خلال التعليمات البرمجية المصدر Django، عرض عام archive_index لا يبدو لدعم الحقول ذات الصلة التي هي GenericRelationس.

هذا لأن طريقة QuerySet dates لا يدعم العلاقات العامة. النظر في تقديم هذا كطلب علة / ميزة على تعقب Django Bug.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top