いくつかのカスタムURLを追加しようとしていますが、すべてが1つのビューにリンクされ、渡されるパラメータは異なります。一例として、私は特定のメークを持つすべてのレコードをプルアップするためにいくつかのURLを持っているので、それは<root_url>/vehicles/inventory/<make>
になります。 URLで実際にいくつかのレコードが返されるようにするにはどうすればよいのですか?サイトマップに移動する必要があるものだけです。サイトマップにレコードを持つURLのみを追加する
ここでは、特定の年のすべてのメーカーのクラスをどのようにしたのですか(一部のURLでは返される車両がないため、除外したいと思います)。
class YearMakeSitemap(Sitemap):
priority = 1.0
changefreq = 'weekly'
def items(self):
makes = query.order_by('manufacturer_popularity', 'manufacturer').values_list
('manufacturer', flat = True)
years = query.order_by('year').values_list('year', flat = True)
url = []
for make in makes:
for year in years:
url.append('%s/%s' % (make, year))
return url
def lastmod(self, obj):
return datetime.now()
def location(self, obj):
return '/vehicles/inventory/%s/' % obj
現在の状況ではなく、少なくとも1つのレコードを返すURLだけを持つサイトマップファイルを作成するにはどうすればよいですか?
クール...私はより多くのフィールドで同じことをやっているので、よりエレガントで効率的なように見えるので、2番目の提案を試してみます – Stephen