django-ipyfield jest aplikacja, która zapewnia Django na modelu Django pole, które umożliwia przechowywanie & nbsp; z adresu ip jako BigInt na stronie db za pomocą MRP do obsługi konwersji do instancji IPy.IP (lub brak) na boczna python.
Wut?
W drodze, to daje nam możliwość przechowywania protokołów IPv4 i IPv6 konsekwentnie bez rzucać je w długich charfields. Ponadto, to daje nam w łatwy sposób sprawdzania poprawności danych, jak to jest w, dając nam dostęp do dodatkowych informacji meta (w zasadzie wszystko, co czyni MRP tak niesamowite).
instalacji
Dodaj do tego projektu django, instalując z pip:
pip zainstalować django-ipyfield
lub easy_install:
easy_install django-ipyfield
Zastosowanie
W modelach, coś jak następujące zrobić:
z django.db modeli importowych
z ipyfield.models importować IPyField
Klasa MyModel (models.Model):
& Nbsp; # regularne params powinny działać na tyle dobrze tutaj
& Nbsp; ipaddr = IPyField ()
& Nbsp; # ... i tak dalej
Stąd wszelkie zadania do obj.ipaddr można uznać argumentu konstruktora do nowej instancji IPy.IP. Wszystko IP () można użyć, aby nowy obiekt może być używany.
Podczas wykonywania zapytań, dodałem jeden dodatkowy kawałek cukru składniowej. Dla __in (zakres) wyszukiwań, można przekazać notacji CIDR zakres adresów, na przykład:
MyModel.objects.filter (ipaddr__in = .0.0.0 '10 / 24 ')
Obecnie trzeba korzystać z tej formy zapisu obsługiwane przez tego rodzaju zapytania. Teraz, jeśli chcesz korzystać z notacji stylu prefix-maski sieci, przekazać go do siebie i korzystać IPy.IP powstały instancji jako swojej parametru filtra.
Co nowego ta wersja:.
- Dodano wsparcie dla gt, lt GTE i wyszukiwań LTE
Co nowego w wersji 0.1.4:
- instancji IPy.IP podnosi wyjątek w stosunku do Instancja nie-IP. Problem ten staje się, gdy pojawi się w walidacji ModelForm (nie pojawią się, gdy tylko przy użyciu ORM) w odniesieniu do pustych / wartości null.
Wymagania :
- Python
- Django
Komentarze nie znaleziono