Je travaille sur un projet Python/Django. Je dois utiliser le YearArchiveView classe de base, donc je ceci:Comment utiliser une fonction pour passer le résultat à 'queryset'?
class ArchiveView(YearArchiveView):
queryset = ArticlePage.objects.all()
make_object_list = True
date_field = 'date'
template_name='btcmag/pages/archives_list.html'
allow_future = False
context_object_name = 'articles'
def extract_month(self, article):
'extracts the starting date from an entity'
return article.date.month
def extract_year(self, article):
'extracts the starting date from an entity'
return article.date.year
Au lieu d'avoir queryset = ArticlePage.objects.all()
, je voudrais avoir une fonction renvoyant la queryset correcte. Quelque chose comme:
queryset = getQuerySet()
En même temps, je dois passer dans certains paramètres.
J'ai essayé de définir la fonction au sein de la classe, en l'appelant avec self
et seul, mais j'obtiens que le function
ou self
ne sont pas définis.
Où dois-je définir la fonction/méthode?
Comment puis-je le transmettre à queryset
?
Que voulez-vous dire par * pas de chance *? Nous devons voir comment vous avez implémenté votre méthode. Avez-vous considéré un gestionnaire personnalisé avec une méthode supplémentaire? – styvane
Juste édité la question. Fondamentalement, je comprends que la fonction ou soi n'est pas défini. –