Archive for July, 2009

Django : Vérifier l’existence d’un objet dans un QuerySet via les templatetags

Récemment je me suis demandé comment, à partir d’un template, vérifier si un objet se trouve dans un QuerySet. Mon but étant d’afficher quelques lignes spécifiques dans l’hypothèse où c’est bien le cas.

Partant des modèles author et book suivants :

class Author(models):
    name = models.CharField(max_length=255)

class Book(models):
    title = models.CharField(max_length=255)
    authors = models.ManyToManyField(Author, related_name="books_related")

On en déduit qu’un auteur peut écrire plusieurs livres et un livre peut être écrit par plusieurs auteurs. Si l’on souhaite s’assurer que my_author est bien l’un des auteurs de my_book, voici comment procéder :

{% ifequal my_author.books_related.get my_book %}
…
{% endifequal %}

C’est aussi simple que cela ! En espérant que cette astuce vous sera utile ;)

UPDATE : je me dois de préciser que cela ne fonctionne que si my_author n’a écrit qu’un seul livre. Eh oui, petite erreur de jeunesse, je vous promet de vérifier plus en détail lorsque je proposerai une astuce à l’avenir !

Une nouvelle aventure commence

Cela fait plusieurs mois que l’idée me trotte dans la tête, la voici enfin qui se concrétise ! L’envie de créer ce blog m’est venue d’une frustration croissante : chaque jour j’apprend, j’expérimente, je solutionne les problématiques qui s’offrent à moi sans pouvoir partager tout cela.

J’aborderai donc ici ce qui fait mon quotidien : le développement web avec Django, un framework Python ; le javascript avec jQuery ; l’intégration continue avec Hudson ; ainsi que d’autres thèmes qui me tiennent à cœur comme l’agilité, le web sémantique ou encore l’ergonomie.

Une nouvelle aventure commence, et sans vous elle n’aurait aucun sens, c’est pourquoi je tiens dès à présent à vous dire merci !