Proper CIDR fields for Django running on any database
Project description
cidrfield provides a model field for django that allows the storage of an ip network on the db side by using ipaddress to handle conversion to an ipaddress.ip_network instance (or None) on the python side. It supports the use of __contains and __in to query the IP network that contain and belong to.
Installation
Add this to your django project by installing with pip:
pip install django-cidrfield
Usage
In your models, do something like the following:
from django.db import models from cidrfield.models import IPNetworkField class MyModel(models.Model): # the regular params should work well enough here ip_network = IPNetworkField() # ... and so on
Then you can store a ip network like the following:
MyModel(ip_network='192.168.1.0/24').save()
And you can query a ip network like the following:
MyModel.objects.filter(ip_network__contains='192.168.1.1') MyModel.objects.filter(ip_network__in='192.168.0.0/16')
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.
Source Distribution
django-cidrfield-0.1.3.tar.gz
(3.4 kB
view hashes)
Built Distribution
Close
Hashes for django_cidrfield-0.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 928b79ab8311103398a0272455edacc7fabe90ed13359713ab0f0d012fc8ccf8 |
|
MD5 | b67faef3dd79252f622419b271437d90 |
|
BLAKE2b-256 | 656485f914bb2ceb7d9d268800152faf860fe393ebd0efd2181f025ef046b015 |