Djangoモデルでピクルスフィールドを作成する
PythonのPickleは、主にPythonobject構造のシリアル化と逆シリアル化に使用されます。つまり、Pythonオブジェクトをバイトストリームに変換してファイル/データベースに保存したり、セッション間でプログラムの状態を維持したり、ネットワーク経由でデータを転送したりするプロセスです
この記事では、ピクルスオブジェクトを保存するDjangoフィールドを作成する方法を説明します。 models.pyでのみ機能します とDjangoシェル
まず、 django-picklefieldをインストールします パッケージ-
pip install django-picklefield
例
models.py内 −
from django.db import models from picklefield.fields import PickledObjectField # Create your models here. class new_model(models.Model): args = PickledObjectField()
ここでは、モデルを作成し、ピクルを追加しました フィールド。
それが機能するかどうかを確認しましょう。ターミナルで"pythonmanage.pyshell"を実行します 次のように入力します-
from myapp.models import * obj=new_model(args=['fancy', {'objects': 'inside'}]).save() new_model.objects.all()
シェルを実行し、pickleオブジェクトを格納できる新しいモデルインスタンスを作成します。そこに保存されているオブジェクトはすべてピクルスに変換されます オブジェクト。
モデルを保存するには、次のように記述します-
from django.http import HttpResponse def my_view(request): Object=new_model(args=['fancy',{'name': 'ath'}]) Object.save() return HttpResponse("Object saved")
ピクルスを追加できます オブジェクトまたはこのフィールドでピッケルできるもの。
出力
In [4]: new_model.objects.all() Out[4]:<QuerySet [<new_model: new_model object (1)>]>
-
DjangoでMoneyフィールドを追加するにはどうすればよいですか?
場合によっては、給与、手数料、収入など、お金に関連するデータをWebサイトに追加する必要があります。 Djangoは整数フィールドを提供しますが、多くの場合、それは私たちが望むようには機能しません。したがって、お金のフィールドを処理するために、モデルにお金のフィールドを追加する3番目のパッケージライブラリを使用できます。 プロジェクトとアプリを作成し、 MoneyFieldDemoという名前を付けました およびmyapp。 URLなどの基本的な設定を行います およびINSTALLED_APPS。 はい、ライブラリをインストールします- pip install django-mone
-
DjangoモデルにJSONフィールドを追加する
この記事では、DjangoモデルにJSONフィールドを追加する方法を説明します。 JSONは、データをキーと値の形式で保存するための単純な形式です。中括弧で書かれています。多くの場合、開発者のWebサイトでは、開発者データを追加する必要があり、そのような場合はJSONフィールドが役立ちます。 まず、Djangoプロジェクトとアプリを作成します。 INSTALLED_APPSにアプリを追加したり、URLを設定したり、基本的なモデルを作成したり、そのフォームをHTMLファイルにレンダリングしたりするなど、すべての基本的なことを行ってください。 例 django-jsonfieldをインストー