/ / अंतिम बार पर अंतिम अधिकतम कार्य का उपयोग करते समय त्रुटि देने वाले Django के साइटमैप - अजगर, django, साइटमैप, django-2.0

Django के साइटमैप ढांचे में अंतिम अधिकतम फ़ंक्शन का उपयोग करते समय त्रुटि दे रही है - पायथन, django, साइटमैप, django-2.0

मैं Django के साइटमैप ढांचे का उपयोग करने की कोशिश कर रहा हूंसुविधा। मैंने कोड लागू कर दिया है और यह वर्तमान लेख ऑब्जेक्ट्स पोस्ट_डेट के साथ काम करता है। हालांकि मैं निम्नलिखित कोड का उपयोग करके एक अधिक सटीक अंतिम संशोधन तिथि प्राप्त करने की कोशिश कर रहा हूं और यह मुझे त्रुटि देता है। त्रुटि का ट्रेसबैक http://dpaste.com/3Z04VH8

सादर। किसी भी मदद के लिए धन्यवाद

from django.contrib.sitemaps import Sitemap
from django.db.models import Max
from article.models import Article


class ArticleSitemap(Sitemap):
changefreq = "hourly"
priority = 0.5

def items(self):
return Article.objects.all()

def lastmod(self, obj):
from post.models import Post
return Post.objects.filter(article=obj).aggregate(Max("post_date"))
#return obj.post_date

उत्तर:

जवाब के लिए 0 № 1

The lastmod में विधि Sitemap वर्ग के लिए एक लौटने की जरूरत है datetime वस्तु. इसके बजाय आप एक शब्दकोश लौट रहे हैं (जो है क्या aggregate उत्पादन होगा) - जो अमान्य है.

आपको उस शब्दकोश के अंदर से डेटा लाने और उस पर वापस जाने की आवश्यकता है:

result = Post.objects.filter(article=obj).aggregate(Max("post_date"))
# result will look something like {"post_date__max": Datetime("2017-12-06")}
return result["post_date__max"]