Django adminによるデータ管理
10068 ワード
授業内容を整理する
コース名:フィードバック機能付きPython/張高Webサービス開発完全ガイド
講座:高度なadminによるデータ管理
django admin
django.contrib.adminアプリケーションで提供
モデルを作成してもadminで使うためには別途登録が必要!!
AdminでModel Classを登録する方法
モデル登録は1回のみ
再登録するには、登録したモデルをログアウトする必要があります.
登録法#1
admin.site.register(Item) #기본 ModelAdmin으로 동작
アプリケーションディレクトリのadminは、次のようになります.pyファイルに入力して保存します.下図のように/instagram(登録されているアプリケーションURL)に移動すると、モデルは表示されません
登録法#2
class ItemAdmin(admin.ModelAdmin):
pass
admin.site.register(Item,ItemAdmin) #지정한 ModelAdmin으로 동작
登録法#3
@admin.register(Item)
class ItemAdmin(admin.ModelAdmin):
pass
/str表現
場合によっては、PythonはJAVAのtoStringのようにオブジェクトを文字列として表す必要がある場合があります.
# Create your models here.
class Post(models.Model):
message = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
#아래처럼 작성
def __str__(self):
return f"Post object ({self.id})" #이 부분은 custom 가능
Postを作成した場合の名前はlist display表現
表示する列を指定できます
リストディスプレイをプライマリ・キーとして指定すると、次のようになります.
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display = ['pk'] #pk는 primary key에 대한 별칭
以下に示す(プライマリキーidは1であるため1)より明示的に表示する列を指定した場合の結果
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display = ['id','message','created_at','updated_at'] #pk는 primary key에 대한 별칭
list_display_links
List display指定名で詳細にリンクするプロパティリスト
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display = ['id','message','created_at','updated_at'] #pk는 primary key에 대한 별칭
list_display_links=['messages']
メンバー機能の追加(models.py)
#instagram/admin.py
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display = ['id','message','message_length','created_at','updated_at'] #pk는 primary key에 대한 별칭
list_display_links=['messages']
メンバー関数列名の変更
メンバーFunctionの追加(admin.pyから)
Search Fieldsプロパティの定義
adminの検索UIを通じて、DBを通じてどこでターゲットフィールドのリストを検索します
list filterプロパティの定義
指定したフィールド値によるフィルタオプションの提供
Reference
この問題について(Django adminによるデータ管理), 我々は、より多くの情報をここで見つけました https://velog.io/@a87380/Django-admin을-통한-데이터-관리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol