Skip to main content

Native postgres bulk update and upsert operations.

Project description

django-pgplus, forked from django-manager-utils, provides several optimized bulk operations for Postgres:

  1. update - For updating a list of models in bulk. Although Django provides a bulk_update in 2.2, it performs individual updates for every row and does not perform a native bulk update.

  2. upsert - For doing a bulk update or insert. This function uses postgres UPDATE ON CONFLICT syntax to perform an atomic upsert operation. There are several options to this function that allow the user to avoid touching rows if they result in a duplicate update, along with returning which rows were updated, created, or untouched. Users can also use models.F objects on conflicts.

  3. sync - For syncing a list of models with a table. Does a bulk upsert and also deletes any rows in the source queryset that were not part of the input data.

For more examples, see the django-pgbulk docs.

Documentation

View the django-pgbulk docs here.

Installation

Install django-pgbulk with:

pip3 install django-pgbulk

After this, add pgbulk to the INSTALLED_APPS setting of your Django project.

Contributing Guide

For information on setting up django-pgbulk for development and contributing changes, view CONTRIBUTING.rst.

Primary Authors

  • @wesleykendall (Wes Kendall)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-pgbulk-1.2.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

django_pgbulk-1.2.0-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file django-pgbulk-1.2.0.tar.gz.

File metadata

  • Download URL: django-pgbulk-1.2.0.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.10.1 Linux/5.13.0-1017-aws

File hashes

Hashes for django-pgbulk-1.2.0.tar.gz
Algorithm Hash digest
SHA256 26f61c84c6ff592f85de156d3f8e21e8eeb02964305ed2f13e64224b4d53389a
MD5 c9a8df26ed84d116d086d4e122b6b604
BLAKE2b-256 f7673da775aa0b8fd88a4d872006923d57d77f22b2ef5649051aebc6ed20ed5a

See more details on using hashes here.

File details

Details for the file django_pgbulk-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: django_pgbulk-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.10.1 Linux/5.13.0-1017-aws

File hashes

Hashes for django_pgbulk-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ceda7d889c65951a966c2b48bc4a2d94d6e658503381c43d8ac3409b5130051a
MD5 c46c11a2e3cfaac4d1a1d2c7c5a7bd26
BLAKE2b-256 1bd115d1bfe8aa9a397cdf6a1aaa2b995e9ba621750dec735b0d966b4f994571

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page