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
IntegerFieldthat uses a MySQLTINYINTtype 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
PositiveIntegerFieldthat uses a MySQLTINYINT UNSIGNEDtype 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()