Djangoの場合だと、ModelName.objects.raw(SQL文) 的なメソッドが使えます。
まあ、この辺に書いてありますよね。使えるのは、Django1.2以降です。
https://docs.djangoproject.com/en/dev/topics/db/sql/#performing-raw-queries
通常Djangoで ModelName.objects.all() と .filter() とか使うと
QuerySetって人が返ってきますが、この場合は、RawQuerySet という人が返ってきます。
ちょっと困ったことになるのが、
PaginationしたいときにRawQuerySetにcountメソッドがないとか言い出すあたりです。
そんなときはとりあえず、listメソッドでlistにしちゃいましょう。
テンプレでforでまわして値表示するくらいなら困らないです。
products = Product.objects.raw("SELECT * FROM product_product") products = list(products)
まあ、これでいいんじゃないかな。
0 件のコメント:
コメントを投稿