django-bitfield är en Django app som ger ett bitfield liknande klass (med en BigIntegerField) för dina Django modeller.
Installation
Installera det med pip (eller easy_install):
PiP installera django-bitfield
Användning
Först måste du bifoga en bitfield till din klass. Detta fungerar som en BigIntegerField (BIGINT) i din databas:
från bitfield import bitfield
klass MyModel (models.Model):
& Nbsp; flaggor = bitfield (flaggor = (
& Nbsp; 'awesome_flag ",
& Nbsp; 'flaggy_foo ",
& Nbsp; 'baz_bar ",
& Nbsp;))
Nu kan du använda fältet med hjälp väldigt välbekanta Django verksamhet:
# Skapa modellen
o = MyModel.objects.create (flaggor = 0)
# Lägg awesome_flag (fungerar inte i SQLite)
MyModel.objects.filter (pk = o.pk) .update (flaggor = MyModel.flags.awesome_flag)
# Ställ flaggor manuellt till [awesome_flag, flaggy_foo]
MyModel.objects.filter (pk = o.pk) .update (flaggor = 3)
# Ta awesome_flag (fungerar inte i SQLite)
MyModel.objects.filter (pk = o.pk) .update (flaggor = ~ MyModel.flags.awesome_flag)
# Test awesome_flag
om o.flags.awesome_flag:
& Nbsp; skriver ut "Lyckliga tider!"
# Lista alla flaggor på fältet
för f i o.flags:
& Nbsp; skriver ut f
Krav :
- Django
- Python
Kommentarer hittades inte