Python
 Computer >> コンピューター >  >> プログラミング >> Python

DjangoモデルにJSONフィールドを追加する方法【django-jsonfield活用ガイド】

この記事では、DjangoのモデルにJSONフィールドを追加する方法を解説します。JSONはキーと値のペアでデータを保存できるシンプルなフォーマットで、波括弧({})で記述されます。開発者向けサイトなどでは、柔軟な構造のデータを扱う場面が多く、そうしたケースでJSONフィールドは非常に役立ちます。

事前準備

まず、Djangoプロジェクトとアプリを作成しましょう。アプリをINSTALLED_APPSに追加し、URLの設定を行い、基本的なモデルを作成してHTMLファイル上にフォームを表示できるようにしておいてください。

django-jsonfieldパッケージのインストール

以下のコマンドでdjango-jsonfieldパッケージをインストールします。

pip install django-jsonfield

モデルの作成

次に、models.pyにモデルを作成します。例として、学生データを管理するモデルを定義してみましょう。

import jsonfield
from django.db import models

# Create your models here.

class StudentData(models.Model):
    name = models.CharField(max_length=100)
    standard = models.CharField(max_length=100)
    section = models.CharField(max_length=100)
    the_json = jsonfield.JSONField()

続いて、admin.pyに以下のコードを追加して、モデルを管理画面に登録します。

from django.contrib import admin

from .models import StudentData

admin.site.register(StudentData)

ここで作成したモデルには4つのフィールドがあり、そのうち1つがサードパーティ製のJSONフィールドです。通常のCharFieldと組み合わせることで、構造化されたデータと可変的なデータを同じテーブルで扱えるようになります。

マイグレーションの実行

以下のコマンドを実行して、データベースへの反映と管理者ユーザーの作成を行います。

python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser

最初の2つのコマンドでテーブルが作成され、最後のコマンドで管理画面用のスーパーユーザーが作成されます。これで準備は完了です。

動作確認

ブラウザで https://127.0.0.1/admin/ にアクセスし、登録したモデルの管理ページを開きます。新しいインスタンスを追加しようとすると、以下のようなJSON入力フィールドが表示されていることが確認できます。

DjangoモデルにJSONフィールドを追加する方法【django-jsonfield活用ガイド】


  1. Python Tkinterでパスワード入力フィールドを作成する方法をわかりやすく解説

    GUIアプリケーションでユーザーのパスワードを受け付ける入力欄を作りたい場面はよくあります。パスワードは通常「*」などの記号でマスク表示され、第三者から入力内容が見えないように暗号化された形式で表示されます。Tkinterでは、Entryウィジェットのshowオプションを使うことで、簡単にパスワード入力フィールドを実装できます。このオプションに任意の文字(例:「*」)を指定すると、ユーザーが入力した文字がすべてその記号に置き換えて表示されます。サンプルコード以下の例では、パスワードを入力できるEntryウィジェットと、ウィンドウを閉じるためのボタンを持つアプリケーションウィンドウを作成します。

  2. Googleの「Blocks」アプリでVR空間に3Dモデルを作成する方法

    Microsoftのペイントを使ったことがある人なら、画像を描くときの苦労を経験したことがあるでしょう。キャンバスに実際に絵を描くよりも、MSペイントでの作業の方がはるかに複雑でした。このアプリを使いこなせてこそ、ようやく素晴らしい作品を描けるというものです。 しかし今、VR(バーチャルリアリティ)とAIの時代において、完璧でカラフルな3DイメージをVR空間の中で作り上げることが夢ではなくなりました。その鍵となるのが、Googleが開発した新しいアプリ「Blocks」です。このアプリを使えば、あなたの中に眠るアーティストを目覚めさせ、思い通りのものを自由に描くことができます。しかも最大の魅力は