DjangoのPaginatorを触ってみる。
続きを読むdjangoのprefetch_related/select_related/Prefetch(SQL実行の最適化)
Djangoを使っていて、イケてないSQLがありました。 そもそも、僕はDjangoのprefetch_relatedとselect_relatedがよくわかっていませんでした。
今回は、それを調べたので説明を書きます。
続きを読むdjango adminはactionが追加できる
django adminの動きを見てる中で、actionの動きを学んだのでメモ。
django adminでは複数のレコードを選んで、アクションを実行できる。
これ。
デフォルトでは、 Delete select my models
みたいなやつが設定されている。
選択したレコードを削除するアクション。
これは無効化できるらしい。
ドキュメントのままだけど。
Admin actions | Django documentation | Django
from django.contrib import admin from myapp.models import MyModel class MyModelAdmin(admin.ModelAdmin): def get_actions(self, request): actions = super().get_actions(request) if request.user.username[0].upper() != 'J': if 'delete_selected' in actions: del actions['delete_selected'] return actions admin.site.register(MyModel, MyModelAdmin)
あと、自分でアクションを設定することもできる。
以下は、 my_action
というアクションを追加した例
class MyModelAdmin(admin.ModelAdmin): actions = ['my_action'] def my_action(self, request, queryset): queryset.update(title='action')
Admin actions | Django documentation | Django
こんな風に増える
実行すると、それらにupdateのクエリが発行される。
デコレータを再勉強した時のメモ
デコレータを勉強していて、なるほどがあったのでメモ。
続きを読むmock.patch.objectとmock.patchの違いのメモ
Pythonのmockを使っているときに、mock.patch
とか、 mock.patch.object
とか出てきて、この違いをうまく説明できない。
今回は、もう少しこの理解を深めたいと思う。
続きを読む