リスト、辞書、集合、タプル、セッション、cookie、データベース、model、ファイルシステム、キャッシュのCRUD処理の方法をまとめた。
各機能をクラッド処理に落とし込むことで理解しやすいようにした
①リスト(List)
Create(追加)
my_list = []
my_list.append('apple') # リストに要素を追加
Read(取得)
first_item = my_list[0] # 最初の要素を取得
Update(更新)
my_list[0] = 'orange' # 最初の要素を更新
Delete(削除)
del my_list[0] # 最初の要素を削除
②辞書(Dictionary)
Create(追加)
my_dict = {}
my_dict['name'] = 'John' # 新しいキーと値を追加
Read(取得)
name = my_dict['name'] # キーに対応する値を取得
Update(更新)
my_dict['name'] = 'Doe' # キーに対応する値を更新
Delete(削除)
del my_dict['name'] # キーとその値を削除
③タプル(Tuple)
Create(作成)
my_tuple = ('apple', 'banana') # タプルを作成
Read(取得)
first_item = my_tuple[0] # 最初の要素を取得
Update(更新)
タプルは変更不可なので、要素を更新することはできません。
Delete(削除)
特定の要素を削除することはできませんが、タプル全体を削除することは可能です。
del my_tuple # タプル全体を削除
④集合(Set)
Create(追加)
my_set = set()
my_set.add('apple') # 集合に要素を追加
Read(取得)
集合は順序がないため、要素を直接インデックスで取得することはできませんが、存在確認が可能です。
if 'apple' in my_set:
print('Apple exists')
Update(追加)
更新という概念はないが、新しい要素を追加することで似た効果を得られます。
my_set.add('banana')
Delete(削除)
my_set.remove('apple') # 要素を削除
⑤セッション(Session)
ユーザーごとの状態をサーバー側で保持する仕組みです。
Create(追加)
request.session['username'] = 'John' # セッションにデータを保存
Read(取得)
username = request.session.get('username') # セッションからデータを取得
Update(更新)
request.session['username'] = 'Doe' # セッションデータを更新
Delete(削除)
del request.session['username'] # セッションデータを削除
⑥クッキー(Cookie)
ユーザーのブラウザにデータを保存する仕組みです。
Create(追加)
response.set_cookie('username', 'John') # クッキーを設定
Read(取得)
username = request.COOKIES.get('username') # クッキーを取得
*Update(更新)
クッキーを上書きすることで更新が可能です。
response.set_cookie('username', 'Doe')
Delete(削除)
response.delete_cookie('username') # クッキーを削除
⑦モデル(Model)
Create(追加)
user = User.objects.create(username='John') # 新しいレコードを作成
Read(取得)
user = User.objects.get(id=1) # 特定のレコードを取得
users = User.objects.all() # 全てのレコードを取得
Update(更新)
user.username = 'Doe'
user.save() # レコードを更新
Delete(削除)
user.delete() # レコードを削除
⑧データベース
Djangoのデータベース操作は通常、モデルを通じて行いますが、直接SQLを使うこともできます。
Create(追加)
cursor.execute("INSERT INTO my_table (column1) VALUES ('value')")
Read(取得)
cursor.execute("SELECT * FROM my_table WHERE column1 = 'value'")
result = cursor.fetchall()
Update(更新)
cursor.execute("UPDATE my_table SET column1 = 'new_value' WHERE column1 = 'value'")
Delete(削除)
cursor.execute("DELETE FROM my_table WHERE column1 = 'value'")
⑨ファイルシステム
ファイルのCRUD操作もWebアプリケーションでよく行われます。
例えば、ユーザーがアップロードしたファイルの保存、読み込み、編集、削除などです。
Create(追加)
with open('file.txt', 'w') as f:
f.write('Hello, world!') # 新しいファイルを作成して内容を書き込む
Read(取得)
with open('file.txt', 'r') as f:
content = f.read() # ファイルの内容を読み込む
Update(更新)
with open('file.txt', 'a') as f:
f.write('\nAnother line') # ファイルに内容を追加する
Delete(削除)
import os
os.remove('file.txt') # ファイルを削除する
⑩キャッシュ
一時的にデータを保存してパフォーマンスを向上させるための仕組みです。
Create(追加)
from django.core.cache import cache
cache.set('my_key', 'my_value', timeout=60) # キャッシュにデータを保存
Read(取得)
value = cache.get('my_key') # キャッシュからデータを取得
Update(更新)
キャッシュを上書きすることで更新します。
cache.set('my_key', 'new_value', timeout=60)
Delete(削除)
cache.delete('my_key') # キャッシュを削除