Djangoはここでカバーしています。
生のユーザー入力をSQLクエリに挿入しないでください。常にクエリパラメーターを使用してください。Djangoはこれを非常に簡単にします。
user.objects.filter（username = username）＃危険！

user.objects.filter（username = username）＃safe、usernameはパラメーターです

だからあなたの見解では：
user.objects.get（username = request.post ['username']）＃危険
user.objects.get（username = request.post.get（ 'username'））＃safe

Djangoはユーザー名を自動的にエスケープし、SQLクエリのパラメーターとして使用して安全にします。
要するに、常にDjangoにSQLクエリを構築させ、生のユーザー入力を挿入しないでください。あなたがそうする限り、あなたはSQLインジェクションから安全になります。
Django has you covered here.
Never ever insert raw user input into your SQL queries. Always use query parameters, and Django makes this very easy:
User.objects.filter(username=username)  # Dangerous!

User.objects.filter(username=username)  # Safe, username is a parameter

So in your view:
User.objects.get(username=request.POST['username'])  # Dangerous
User.objects.get(username=request.POST.get('username'))  # Safe

Django will automatically escape the username and use it as a parameter in the SQL query, making it safe.
So in short: Always let Django construct the SQL query, and never insert raw user input. As long as you do that, you'll be safe from SQL injection.