Django Rest Frameworkの処理メモ

Django Rest Framework、使うたびに中を開けて同じことを調べているので、内部の主要なメソッドのメモを残す。

ViewSetMixin

class ViewSetMixin:
    request:
    args = args
    kwargs = kwargs
    action:Literal["list", "create", "get", "update", "partial_update", "destroy"]

Listの処理

class ModelViewSet:
    def get_serializer_context(self):
        retu
N+1問題におけるORMの重たさについて

tl;dr

ボトルネックはちゃんと測定して把握しないとダメだよ。

N+1問題

DjangoやRailsなど、ORMを利用するWebフレームワークなどの開発では、よく 「N+1問題」 というのが話題になります。ORMでは、あるモデルが参照している別のモデルを参照するとその時点でSQLが発行されてしまうため、気が付かないうちにパフォーマンスが低下する場合がある、というやつですね。

Django

例えば、Djangoで次のようなモデルがあったとき、

class Table1(models.Model):
    text = models
Django メモ集

Djangoのスクリプトを実行する

Djangoのadminユーザをメールアドレス無しで登録するOne liner

テスト用に適当なadminユーザ登録したいだけなのに、パスワードが甘いだのメールアドレスも入れろだの怒られてムカついたときに。

python manage.py shell -c 'from django.contrib.auth.models import User;User.objects.create_superuser("admin", "", "pass")'
1