Custom field to add multiple boolean features using a BigIntegerField.
Project description
Django BigFeat is custom field to add up to 63 boolean features using a BigIntegerField.
Quick start
from django.db import models from bigfeat import BigFeatField class ModelWithOptionalFeatures(models.Model): FEATURES = { 'FEATURE_1' : 0x0000000000000001, 'FEATURE_2' : 0x0000000000000002, 'FEATURE_3' : 0x0000000000000004, 'FEATURE_4' : 0x0000000000000008, ... 'FEATURE_61' : 0x1000000000000000, 'FEATURE_62' : 0x2000000000000000, 'FEATURE_63' : 0x4000000000000000, } features = BigFeatField(masks=FEATURES) m = ModelWithOptionalFeatures.objects.get(id=1) print m.features.feature_1 if m.features.feature_2: print m.features.feature_3 if m.features.feature_4 else m.features.feature_5 print m.features
Notes
The most significant bit (0x8000000000000000) cannot be used since BigIntegerField is stored as a signed integer and will cause an OverflowError
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Built Distribution
Close
Hashes for django_bigfeat-0.1.1-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c57b9d0abd8c4b115004b21e208041fb6656e764dae23c0abd606ce35c6e457 |
|
MD5 | 120b4526990d6955d57bf7e9625b3e66 |
|
BLAKE2-256 | b3c06a57e50e9975801bdd615c8b22a2c3451dc0bed236ff48dea0ea6cfcf751 |