Najlepszym rozwiązaniem byłoby użycie jednego z existing Django applications, który obsługuje serializowanie instancji modelu do iz JSON.
W obu przypadkach, jeśli analizujesz obiekt JSON do słownika Python, możesz zasadniczo użyć metody QuerySet.update()
bezpośrednio.
więc powiedzieć, masz słownika gdzie wszystkie klawisze mapowania modelu atrybuty i stanowią one wartości, którą chcesz zaktualizować, można to zrobić:
updates = { # Our parsed JSON data
'pk': 1337,
'foo': 'bar',
'baz': 192.05
}
id = updates.pop('pk') # Extract the instance's ID
Foo.objects.filter(id=id).update(**updates) # Update the instance's data
Czy spojrzał [na tej stronie serializacja modeli w Django] (https://docs.djangoproject.com/en/dev/topics/serialization/)? –
Tak - ale mam z tym problem. obiekt json, który przekazuję serwerowi, nie ma wszystkich danych w modelu tylko jego części (w tym oczywiście pk). I chcę zaktualizować model na podstawie tego kodu. –