Skip to main content

A Django app providing a ChunkedTextField for storing large text data in chunks.

Project description

Django Chunked Field

This project provides a custom Django field, ChunkedTextField, designed to handle large text data by splitting it into manageable chunks for storage in a separate database table. Unlike traditional text fields, which may face size limitations in certain database systems, ChunkedTextField bypasses these constraints while seamlessly integrating with Django's ORM. It works transparently with serializers, admin interfaces, and other ORM features, allowing developers to store and retrieve large text data without changing their application logic. The field is particularly useful in applications requiring efficient management of text data exceeding database limits, ensuring scalability and ease of use.

Features

  • Store large text data exceeding database field size limits.
  • Seamlessly integrates with Django's admin and ORM.
  • Customizable truncation for admin display.

Installation

  1. Install the package using pip:

    pip install django-chunked-field
    
  2. Add chunked_field to your INSTALLED_APPS in your Django settings:

    INSTALLED_APPS = [
        ...
        'chunked_field',
    ]
    
  3. Run the migrations to create the necessary database tables:

    python manage.py migrate
    

Usage

Defining a Model

To use the ChunkedTextField, define it in your model as follows:

from django.db import models
from chunked_field.fields import ChunkedTextField


class MyModel(models.Model):
   large_text = ChunkedTextField(truncate_length=100, chunk_size=4000)

Admin Integration

To display the DataChunk model in the Django admin, register it in admin.py:

from django.contrib import admin
from chunked_field.models import DataChunk


@admin.register(DataChunk)
class DataChunkAdmin(admin.ModelAdmin):
   list_display = ('content_type', 'object_id', 'field_name', 'sequence')
   list_filter = ('content_type', 'field_name')
   search_fields = ('content',)

Signal Handlers

The ChunkedTextField automatically handles the chunking and reassembly of data using Django signals. You do not need to manually manage these operations.

License

This project is licensed under the MIT License.


This update includes installation instructions, usage examples, and admin integration details.

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_chunked_field-0.0.4.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

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

django_chunked_field-0.0.4-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file django_chunked_field-0.0.4.tar.gz.

File metadata

  • Download URL: django_chunked_field-0.0.4.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.8.10

File hashes

Hashes for django_chunked_field-0.0.4.tar.gz
Algorithm Hash digest
SHA256 867414483050063e7ccc414ae0ae61db3b410bc7ee0d4c4d2efed8fa0fb13c0e
MD5 fcb8786d9e0996927b4840114d08bd5f
BLAKE2b-256 148705fa2ec040cfdd8bf0f56a638737e2b4e45e1f705488277ace370588c588

See more details on using hashes here.

File details

Details for the file django_chunked_field-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for django_chunked_field-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d49f039a7b88120b6571a5d85c2473fc9147d70be3c1bb53a111054e89178b20
MD5 d8d01c9a904b09b0b531b543770af7a5
BLAKE2b-256 11b1536f18350e2aad00a2ae7dc249954c38726a916c885f565cb3c2e5030eeb

See more details on using hashes here.

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