Если вы знаете, что хотите создать его:
Book.objects.create(**fields)
Предполагая, что вам нужно проверить существующий экземпляр, вы можете найти его с помощью get или create:
instance, created = Book.objects.get_or_create(slug=slug, defaults=fields)
if not created:
for attr, value in fields.iteritems():
setattr(instance, attr, value)
instance.save()
AsКак упоминалось в другом ответе, вы также можете использовать функцию update
в диспетчере наборов запросов, но я считаю, что она не будет отправлять какие-либо сигналы (что может не иметь значения для вас, если вы их не используете).Однако вам, вероятно, не следует использовать его для изменения одного объекта:
Book.objects.filter(id=id).update(**fields)