Tiny integer fields¶
When working with integers that only take small values, Django’s default integer fields can be a bit wasteful as smallest field class, SmallIntegerField
, takes 2 bytes.
MySQL’s smallest integer data type, TINYINT
, is 1 byte, half the size!
The below field classes allow you to use the TINYINT
and TINYINT UNSIGNED
types in Django.
Docs: MySQL TINYINT / MariaDB.
- class django_mysql.models.TinyIntegerField(**kwargs)¶
A subclass of Django’s
IntegerField
that uses a MySQLTINYINT
type for storage. It supports signed integer values ranging from -128 to 127.Example:
from django.db import models from myapp.fields import TinyIntegerField class ExampleModel(models.Model): tiny_value = TinyIntegerField()
- class django_mysql.models.PositiveTinyIntegerField(**kwargs)¶
A subclass of Django’s
PositiveIntegerField
that uses a MySQLTINYINT UNSIGNED
type for storage. It supports unsigned integer values ranging from 0 to 255.Example:
from django.db import models from myapp.fields import PositiveTinyIntegerField class ExampleModel(models.Model): positive_tiny_value = PositiveTinyIntegerField()