牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Django で検索ワード数が不特定のリストで and 検索したい場合のメモ

2014-12-08訂正:or検索でなくてand検索だった

(Django 1.6.x)

import operator

from characters.models import Character

words_list = [
    [u"行きます", u"親父にもぶたれたことないのに"],
    [u"赤い", u"三倍", u"マザコン"],
    [u"ニュータイプ", u"ララァ"]、
    [u"壷"],
]
for words in words_list:
    query = reduce(operator.and_, (Q(description__contains=word) for word in words))
    characters = Character.objects.filter(query)
    print(characters.name)

#-> ["アムロ・レイ"]
#-> ["シャア・アズナブル"]
#-> ["アムロ・レイ", "シャア・アズナブル"]
#-> ["マ・クベ"]

動かしてないけどこんな感じか

参考リンク

Emacs 24.3 と 24.4 以降で設定を分岐させたいメモ

24.4 にアプデしたら package-desc-vers でエラーになるから対処。

でも同じ init.el を 24.3 で使い回すこともあるのでこんな感じにしてみた。

(defvar is-24-4-later (and (<= 24 emacs-major-version) (<= 4 emacs-minor-version)))

(when is-24-4-later
    (fset 'package-desc-vers 'package--ac-desc-version)
    )

もっとスマートな書き方ないかと思ったけど取りあえず動くからまあいいか