[Django]SQLを直接実行

Managerクラスに用意されている「raw」メソッドを使う

/hello/views.py

def find(request):
	if(request.method == 'POST'):
		msg = request.POST['find']
		form = FindForm(request.POST)
		sql = 'select * from hello_friend'
		if(msg != ''):
			sql += ' where ' + msg
		data = Friend.objects.raw(sql)
		msg = sql
	else:
		msg = 'search words...'
		form = FindForm()
		data =Friend.objects.all()
	params = {
		'title': 'Hello',
		'message': msg,
		'form': form,
		'data': data,
	}
	return render(request, 'hello/find.html', params)

テーブル名はhello_friend
マイグレーションの際に「アプリケーション名_モデル名」で作成される

まあ、SQLの方が慣れているといえば慣れてます。