Надеюсь, кто-то может помочь мне в этом. Я создал базовую RSS-ленту, используя сеть фидов синдикации django. Основной канал работает хорошо, однако по умолчанию django устанавливает GUID (уникальный идентификатор) в качестве ссылки на сайт. Я хотел бы, чтобы GUID был item.id.Django syndication RSS feed_guid не работает
Я использовал следующий Джанго пример, который работает:
from django.contrib.syndication.views import Feed
from django.core.urlresolvers import reverse
from policebeat.models import NewsItem
class LatestEntriesFeed(Feed):
title = "Police beat site news"
link = "/sitenews/"
description = "Updates on changes and additions to police beat central."
def items(self):
return NewsItem.objects.order_by('-pub_date')[:5]
def item_title(self, item):
return item.title
def item_description(self, item):
return item.description
В разделе Джанго документы он гласит следующее:
# GUID -- One of the following three is optional. The framework looks
# for them in this order. This property is only used for Atom feeds
# (where it is the feed-level ID element). If not provided, the feed
# link is used as the ID.
def feed_guid(self, obj):
"""
Takes the object returned by get_object() and returns the globally
unique ID for the feed as a normal Python string.
"""
def feed_guid(self):
"""
Returns the feed's globally unique ID as a normal Python string.
Но когда я добавить следующее в мой код я получаю ' Объект NoneType 'не имеет атрибута' id ':
def feed_guid(self, item):
return item.id
Уверен, что я неправильно понял это, но может ли кто-нибудь помочь?