Je dois afficher les entrées par date dans une application django et je suis un peu bloqué: Voici un exemple de mes modèles:Django annoter sur un « champ personnalisé » avec django-tri
class Event(models.Model):
name = models.CharField(max_length=100)
theme = models.ForeignKey(Theme)
...
class Date(models.Model):
event = models.ForeignKey(Event)
start = models.DateField()
end = models.DateField()
class Meta:
ordering = ['start', 'end']
unique_together = ['event', 'start']
I J'ai une vue qui prend tous les événements dans la base de données: Event.objects.all()
puis dans un modèle, je montre la liste des événements avec leur thème et d'autres choses comme le début de la date. Je voudrais montrer dans la liste la première date, c'est facile avec une méthode personnalisée « future » sur le modèle d'événement:
def get_first_future_date(self):
today = datetime.datetime.now()
dates = self.date_set.filter(end__gte=today)
if dates:
return dates[0]
Cette méthode, la première date future ou la date la plus ancienne qui n'est pas terminée.
Here's the problem : I would like to show that field in my template and be able to sort it with django-sorting.
Django tri utilise {%}% ancrage arg pour le faire, mais je ne sais pas comment gérer ce domaine dans ce ... Comment feriez-vous ???
Merci d'avance pour toute réponse.
Je suis coincé dans la même situation. Avez-vous trouvé une solution pour cela? – Konstant