のDB側のBigIntとしてIPアドレスのIPy.IPインスタンス(またはNone)への変換を処理するために、IPyがを使用して、
ジャンゴ·ipyfieldは、ストレージ&NBSPができますDjangoのためのモデルフィールドを提供DjangoのアプリですPythonの側。
<強い>のWut?の
そのようにして、私たちに長いcharfieldsでそれらをスローすることなく、一貫して、IPv4とIPv6の両方を格納するための方法を提供します。私たちに追加のメタ情報(IPyがとても素晴らしいになり、基本的にすべてのもの)へのアクセスを与えながらも、それは、私たちにそれが入ってくるようにデータを検証する簡単な方法を提供します。
<強い>インストールの
PIPでインストールすることで、あなたのDjangoプロジェクトに、追加します:
ジャンゴ·ipyfieldをインストールピップ
またはeasy_installを持つ:
easy_installをジャンゴ-ipyfield
の使用法の
あなたのモデルでは、次のように実行します。
django.db輸入モデルから
ipyfield.modelsからIPyFieldをインポート
クラスをmymodel(models.Model):
&NBSP;#正規のparamsは、ここで十分に動作するはずです
&NBSP; IPADDR = IPyField()
&NBSP;#...というように
ここから、obj.ipaddrへの割り当ては、新しいIPy.IPインスタンスにコンストラクタの引数と考えることができる。何でもIPは()新しいオブジェクトを使用することができるように使用することができます。
クエリを作成するとき、私は構文砂糖の1余分な部分を追加しました。 __in(範囲)の検索では、例えば、CIDR表記のアドレス範囲を渡すことができます。
MyModel.objects.filter(ipaddr__in = '10 .0.0.0 / 24 ')
現在、クエリのこの種のためにサポート表記は、このフォームを使用する必要があります。あなたは接頭辞 - ネットマスク形式の表記を使用する必要がある場合は今のところ、自分をIPy.IPし、フィルタパラメータとして結果のインスタンスを使用するためにそれを渡します。
のの新機能でこのリリース:ます。
- GT、GTE、LT、およびLTEのルックアップのサポートが追加されました。
のどのバージョン0.1.4のの新しいです:と比較した場合、
- IPy.IPインスタンスと、例外を発生させます非IPインスタンス。あなたはモデルフォームの検証に入るときには、空/ null値に関しては(唯一のORMを使用した場合、最大来なかった)問題になるます。
の要件の
- のPythonます。
- ジャンゴます。
コメントが見つかりません