Skip to main content

Convenient soft-deletion support for Django models

Project description

django-livefield

About

A Django field that enables convenient soft-deletion. For Python 3.11+ and Django 4.2+

Installation

Simple: pip install django-livefield.

Example Usage

>>> from django.db import models
>>> from livefield import LiveField, LiveManager
>>>
>>>
>>> class Person(models.Model):
...    name = models.CharField()
...    live = LiveField()
...
...    objects = LiveManager()
...    all_objects = LiveManager(include_soft_deleted=True)
...
...    class Meta:
...        unique_together = ('name', 'live')
...
...    def delete(self, using=None):
...        self.live = False
...        self.save(using=using)
...
>>> john = Person.objects.create(name='John Cleese')
>>> doppelganger = Person(name='John Cleese')
>>> doppelganger.save()  # Raises an IntegrityError
>>> john.delete()
>>> doppelganger.save()  # Succeeds!

License

MIT. See LICENSE.txt for details.

Contributing

Pull requests welcome! To save everyone some hassle, please open an issue first so we can discuss your proposed change.

In your PR, be sure to add your name to AUTHORS.md and include some tests for your spiffy new functionality. CI will green-light your build once it passes the unit tests (make test) and our linters (make lint).

Changelog

4.3.1

  • Fix Changelog message

4.3.0

  • Add support for Python 3.14
  • Add support for Django 5.2
  • Drop support for Python versions below 3.11
  • Drop support for Django versions below 4.2

4.2.0

  • Migrate to Poetry for building and publishing

4.1.0

  • Add support for Python 3.12
  • Add support for Django 5.0

4.0.0

  • Add support for Python 3.8 - 3.11
  • Add support for Django 4.1 and 4.2
  • Remove support for old Django versions
  • Remove support for old Python versions

3.3.0

  • Django 3.x support
  • switch to BooleanField as base (Django 4.x deprecation)

3.2.1

  • Fix rST formatting in this file to pass PyPI rendering check

3.2.0 (Not released)

  • Support Django 2.2
  • Support Python 3.7
  • Fix metadata to remove deprecated Django versions
  • Expand travis tests for versions and database engines
  • Remove obsolete pylint suppressions
  • Thanks to @shurph for the above!

3.1.0

3.0.0

  • Add support for Python 3.6
  • Add support for Django 2.0
  • Remove support for Python 3.4
  • Remove support for old Django versions
  • Remove GIS

2.5.0 (Not released)

  • Added official Python 3 support.
  • Re-added support for Django 1.8. Now supports Django 1.8 and 1.9.

2.4.0 (2016-02-11)

  • Drop support for Django 1.8
  • Add number of affected rows for delete methods (hard_delete, soft_delete, delete). Note: Django 1.9+ only.

2.1.0 (2014-09-04)

  • Add support for Django 1.7.

2.0.0 (2014-07-13)

  • Renamed top-level namespace to livefield.
  • Restructured internally to match Django convention.
  • Added GIS support.
  • Added South support.

1.0.0 (2014-02-14)

  • Initial release.
  • Separated existing code from main application repository.

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_livefield-4.3.1.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_livefield-4.3.1-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file django_livefield-4.3.1.tar.gz.

File metadata

  • Download URL: django_livefield-4.3.1.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for django_livefield-4.3.1.tar.gz
Algorithm Hash digest
SHA256 9fdfade110da4217493aedf41e561b9973e28405f4b83431c72d2b1eca7b89e1
MD5 574aea9a011979ce2c9b64e6d75f537d
BLAKE2b-256 5e37aa70ddbb2d604675d1d4ae3924e6c0f6f0e6f6fbd920c4ce0b9b4d6c391d

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_livefield-4.3.1.tar.gz:

Publisher: publish.yml on hearsaycorp/django-livefield

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_livefield-4.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for django_livefield-4.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 11bd29758c30a12afb2f3c81baf3089ec0c96aecdf3414e6357f58110a76c3c4
MD5 c27f8c1847435149d4021de69ef68686
BLAKE2b-256 4003c638d6675296101f83db5d424dd75e7eea3fb8e12263c266bef6c9322173

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_livefield-4.3.1-py3-none-any.whl:

Publisher: publish.yml on hearsaycorp/django-livefield

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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