{"id":604,"date":"2010-05-23T19:52:58","date_gmt":"2010-05-23T17:52:58","guid":{"rendered":"http:\/\/j-mad.com\/blog\/?p=604"},"modified":"2010-05-23T19:52:58","modified_gmt":"2010-05-23T17:52:58","slug":"django-samaritan-parce-que-tout-le-monde-a-le-droit-daimer-bruce-willis","status":"publish","type":"post","link":"https:\/\/j-mad.com\/blog\/2010\/05\/23\/django-samaritan-parce-que-tout-le-monde-a-le-droit-daimer-bruce-willis\/","title":{"rendered":"Django-samaritan, parce que tout le monde a le droit d&#8217;aimer Bruce Willis"},"content":{"rendered":"<p style=\"padding-left: 30px;\"><a href=\"http:\/\/j-mad.com\/blog\/wp-content\/uploads\/2010\/05\/le.dernier.samaritain.jpg\" rel=\"lightbox[604]\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-603\" style=\"border: 1px solid black; margin-left: 10px; margin-right: 10px;\" title=\"Le Dernier Samaritain\" src=\"http:\/\/j-mad.com\/blog\/wp-content\/uploads\/2010\/05\/le.dernier.samaritain-214x300.jpg\" alt=\"\" width=\"151\" height=\"212\" srcset=\"https:\/\/j-mad.com\/blog\/wp-content\/uploads\/2010\/05\/le.dernier.samaritain-214x300.jpg 214w, https:\/\/j-mad.com\/blog\/wp-content\/uploads\/2010\/05\/le.dernier.samaritain.jpg 500w\" sizes=\"auto, (max-width: 151px) 100vw, 151px\" \/><\/a>Le mois de mai est toujours un mois compliqu\u00e9. Normalement c&#8217;est \u00e0 cause de tout ces jours f\u00e9ri\u00e9s qui sont autant d&#8217;obstacle au travail et qui nous oblige \u00e0 \u00eatre tout le temps en retard en mai. Pourtant, cette ann\u00e9e, malgr\u00e9 que deux des jours f\u00e9ri\u00e9s de mai tombent un samedi et que le dernier (demain) soit un jour travaill\u00e9 pour moi, la mal\u00e9diction du mois de mai a encore frapp\u00e9 et je n&#8217;ai de temps pour rien&#8230; A croire que c&#8217;est le mois de mai lui-m\u00eame qui a pour cons\u00e9quence que l&#8217;on soit en retard. La mal\u00e9diction sanglante du mois de mai \u2026 (tiens on pourrait faire un bon film de s\u00e9rie B avec \u00e7a). Enfin, tout \u00e7a pour expliquer le fait que l&#8217;application du mois que j&#8217;ai choisi est une toute petite application, que je n&#8217;ai en fait pas eu l&#8217;occasion d&#8217;essayer &#8216;en vrai&#8217;.  (et puis bon, je n&#8217;allais pas cracher sur la possibilit\u00e9 de faire un jeu de mot coolos en parlant d&#8217;un film que j&#8217;adore \u2026)<\/p>\n<p style=\"padding-left: 30px;\">\n<p style=\"padding-left: 30px;\">\n<p style=\"padding-left: 30px;\">\n<p style=\"padding-left: 30px;\">\n<h1>1- O\u00f9 on le trouve, comment on l\u2019installe, tout \u00e7a quoi (et la doc) ?<\/h1>\n<p>On le trouve sur la page <a href=\"http:\/\/github.com\/benslavin\/django-samaritan\">github<\/a> qui va bien et c&#8217;est tout. Quand \u00e0 la doc, elle est, elle aussi uniquement sur le github<\/p>\n<p>La doc se d\u00e9coupe d&#8217;ailleurs entre\u00a0:<\/p>\n<ul>\n<li> le Readme<\/li>\n<li> le Install<\/li>\n<li> les commentaires dans le code.<\/li>\n<\/ul>\n<p>C&#8217;est peu vous aller me dire, mais vu que l&#8217;app fait, en tout et pour tout, moins de 200 lignes, c&#8217;est suffisant.<\/p>\n<h1>2- A quoi ca sert ?<\/h1>\n<p>A remplacer le model django.contrib.auth.models.User par un des siens, d&#8217;une fa\u00e7on propre. Pour aider encore plus, des models sp\u00e9ciaux de M2M, de OnetoOne et de FK sont fournis pour quand on voudra cr\u00e9er des r\u00e9f\u00e9rences vers nos nouveaux users.<\/p>\n<h1>3- Comment \u00e7a marche ?<\/h1>\n<p>Il y a deux fa\u00e7ons possibles de le faire marcher.<\/p>\n<p>En l&#8217;installant puis en l&#8217;utilisant. Tout simplement.. On cr\u00e9\u00e9 son model, on utilise la fonction get_user_model() qui est fournit avec django-samaritain (ou en utilisant directement notre model d&#8217;ailleurs). Et on utilise les sp\u00e9cialisations des FK,OtO et M2M.<\/p>\n<p>En utilisant la m\u00e9thode de Monkey Patching pour injecter \u00e0 la vol\u00e9e le comportement de django-samaritan dans un projet existant. Cette deuxi\u00e8me m\u00e9thode est d\u00e9conseill\u00e9e pour une utilisation \u00e0 long terme,dixit l&#8217;auteur de l&#8217;app lui m\u00eame.<\/p>\n<h1>3- Retour\u00a0?<\/h1>\n<p>Et oui, je sais, c&#8217;est un comble. Mais bon, c&#8217;est mes billets, alors je fais ce que je veux. Donc, si l&#8217;un de vous a des retours sur l&#8217;utilisation de cette app, je suis bien entendu preneur, ne vous g\u00eanez surtout pas.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le mois de mai est toujours un mois compliqu\u00e9. Normalement c&#8217;est \u00e0 cause de tout ces jours f\u00e9ri\u00e9s qui sont autant d&#8217;obstacle au travail et qui nous oblige \u00e0 \u00eatre tout le temps en retard en mai. Pourtant, cette ann\u00e9e, malgr\u00e9 que deux des jours f\u00e9ri\u00e9s de mai tombent un samedi et que le dernier &hellip; <a href=\"https:\/\/j-mad.com\/blog\/2010\/05\/23\/django-samaritan-parce-que-tout-le-monde-a-le-droit-daimer-bruce-willis\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Django-samaritan, parce que tout le monde a le droit d&#8217;aimer Bruce Willis<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[35],"tags":[99,98],"class_list":["post-604","post","type-post","status-publish","format-standard","hentry","category-la-django-app-du-mois","tag-django","tag-python"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p12cdp-9K","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/posts\/604","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/comments?post=604"}],"version-history":[{"count":11,"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/posts\/604\/revisions"}],"predecessor-version":[{"id":615,"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/posts\/604\/revisions\/615"}],"wp:attachment":[{"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/media?parent=604"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/categories?post=604"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/j-mad.com\/blog\/wp-json\/wp\/v2\/tags?post=604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}