Django
Sql injection
name = " 1 OR 1=1"
queryset = Book.objects.raw("""SELECT * FROM book WHERE name = %s""", [name])
queryset = Book.objects.raw("""SELECT * FROM book WHERE name = {}""".format(name))
queryset = Book.objects.raw(f"""SELECT * FROM book WHERE name = {name}""")Transaction
@action(methods=['GET'], detail=False, url_path='test')
@transaction.atomic
def test(self, request, *args, **kwargs):
Book.objects.create(name=1)
try:
with transaction.atomic():
Book.objects.create(name=2)
print(1/0)
except:
pass
Book.objects.create(name=3)
return Response()Lazy queryset
Last updated