Retreive specific data inside json body as list in django

Viewed 16

In purpose to delete multiple data using function

Product.objects.in_bulk([pk1,pk2,pk3,...]).delete()

I'm trying to grab pk value from json as list for in_bulk function param.

my json :

[
        {
            "Pk": 1,
            "Product": "testing"
        },
        {
            "Pk": 2,
            "Product": "testing"            
        }
]

But i don't know how to achieve this in django (i'm new in django from .NET backgroud). Should i iterate each object in json in order to get each pk or there's smartest way to get list pk value ?

1 Answers

You delete this with:

Product.objects.filter(pk__in=list_of_pks).delete()

So if you have a JSON blob, you can work with:

from json import loads as jloads

my_json_blob = '[ {"Pk": 1, …}, … ]'

data = jloads(my_json_blob)
Product.objects.filter(pk__in=[d['Pk'] for d in data]).delete()
Related