def limit_offset_step(self): # 始まり1、終わり3、step2 b = Book.objects.all()[:3:2] #=> SELECT * FROM "runner_book" LIMIT 3 dump_pk(b) dump_sql()
def limit_offset(self): # 2-3番目を取り出す b = Book.objects.all()[1:3] #=> SELECT * FROM "runner_book" LIMIT 2 OFFSET 1 dump_pk(b) dump_sql()
def insert(self): '''INSERT''' # メソッドチェーンでのINSERT Store(name='st1', registered_users=1).save() dump_sql_postgres() #=> INSERT INTO "store" ("name", "registered_users", "hoge") VALUES ('st1', 1, 'fuga') RETURNING "store"."id" # primary keyの確認のために、分割 s = Store(name='st2', registered_users=2) dump_pk(s) #=> None s.save() dump_pk(s) #=> pk:2
def handle(self, *args, **options): # 比較のため、全件を出力しておく b = Book.objects.all() dump_pk(b) print('--------------') if 'only' in args: self.limit_only() if 'offset' in args: self.limit_offset() if 'offset_step' in args: self.limit_offset_step()
def limit_only(self): b = Book.objects.all()[:2] #=> SELECT * FROM "runner_book" LIMIT 2 dump_pk(b) dump_sql()