2010-11-30 53 views
0

J'essaie d'ajouter quelques URL personnalisées, toutes liées à une vue, avec les paramètres passés étant différents. Par exemple, je vais avoir plusieurs URL pour remonter tous les enregistrements ayant une certaine marque, donc ce sera <root_url>/vehicles/inventory/<make>. Ce que je veux faire si je veux que les URL renvoient effectivement des enregistrements ... seulement ceux qui le feront devront aller sur le sitemap.Ajouter uniquement les URL ayant des enregistrements à sitemap

Voici comment j'ai fait la classe pour toutes les marques dans une certaine année (mais certaines des URL n'ont pas de véhicules retournés et je veux éliminer cela). Comment le fichier de sitemap peut-il contenir uniquement les URL qui renvoient au moins un enregistrement par rapport à ma situation actuelle?

Répondre

0

Que diriez-vous de faire ce changement?

for make in makes: 
    for year in years: 
     if query.filter(year=year,manufacturer=make).count() > 0: 
      url.append('%s/%s' % (make, year)) 

Mais je pense une réponse plus efficace serait de le faire.

query.order_by ("manufacturer_popularity", "fabricant", "année") valeurs ("fabricant", "année") .distinct()

et de parcourir cette liste.

+0

Cool ... Je vais essayer la deuxième suggestion car elle semble plus élégante et efficace car je vais faire la même chose avec plus de champs – Stephen