--- id: django-netfields version: "1.4.1" license: BSD license_treatment: permissive maintenance: active --- # django-netfields — Django PostgreSQL netfields implementation License: permissive · Maintenance: active · Downloads: 179.6K/mo ## What it is and what it does django-netfields extends Django's ORM with proper PostgreSQL network data types, replacing the inefficient built-in IP fields with native INET, CIDR, MACADDR, and MACADDR8 field types. The package maps these PostgreSQL types to Python's ipaddress module (for IP fields) and netaddr.EUI (for MAC fields), eliminating costly HOST() casts in queries and enabling IPv6 support. The package includes NetManager, which unlocks advanced network-based lookups directly in the ORM—containment checks, overlap detection, family matching, prefix length filtering, and more—corresponding to PostgreSQL's native network functions. It also exposes Postgres network functions (Family, Masklen, Broadcast, etc.) as Django database functions for complex queries and annotations. Use it for: - Store and query IP addresses and subnets efficiently in Django models backed by PostgreSQL - Perform network containment and overlap queries without application-level filtering - Track MAC addresses in network device or inventory models - Build IP-based access control or firewall rule systems with native database queries - Annotate models with extracted network metadata (family, netmask length, broadcast address) ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides Django model fields for PostgreSQL network types (INET, CIDR, MACADDR, MACADDR8) with native IP and MAC address handling and advanced network-based ORM lookups. Yes. The package is actively maintained, has no known vulnerabilities, and solves a real problem—efficient network data handling in Django+PostgreSQL. Install if you need to store or query IP/CIDR/MAC data; skip if you're not using PostgreSQL or don't need network-specific lookups. ## Install pip install django-netfields uv add django-netfields poetry add django-netfields ## Installing django-netfields Before you install: Low friction: pure Python wheel with only netaddr and django as runtime dependencies. Actively maintained with a recent commit on 2026-03-05 and no known vulnerabilities. License in practice: BSD license is permissive; you can use, modify, and distribute this package freely with minimal restrictions. Quickstart: pip install django-netfields from netfields import InetAddressField, NetManager from django.db import models class Example(models.Model): inet = InetAddressField() objects = NetManager() # Query with network lookups Example.objects.filter(inet__net_contained='10.0.0.0/8') Requires PostgreSQL backend; psycopg2 or psycopg driver must be installed separately. Django >= 1.11 required. Verify before relying: - Whether the package supports Django versions newer than 1.11 - Performance characteristics of network lookups on large datasets - Compatibility with psycopg2 vs. psycopg driver versions ## Package facts - License: BSD (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 179.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags django postgresql network fields, ip address field django, cidr network django orm, mac address field django, postgresql inet field django, network lookup django, ipv6 django model field, postgresql, network-data, orm-extension [View on SkillFed](https://skillfed.io/packages/django-netfields) · [View on PyPI](https://pypi.org/project/django-netfields/)