🐍

【Python】モデル・モジュール・パッケージ一覧の確認コマンド

2024/11/20に公開

モデル一覧確認

モデル一覧確認
docker-compose exec web python manage.py showmigrations --list
出力結果
$ docker-compose exec web python manage.py showmigrations --list
admin
 [X] 0001_initial
 [X] 0002_logentry_remove_auto_add
 [X] 0003_logentry_add_action_flag_choices
auth
 [X] 0001_initial
 [X] 0002_alter_permission_name_max_length
 [X] 0003_alter_user_email_max_length
 [X] 0004_alter_user_username_opts
 [X] 0005_alter_user_last_login_null
 [X] 0006_require_contenttypes_0002
 [X] 0007_alter_validators_add_error_messages
 [X] 0008_alter_user_username_max_length
 [X] 0009_alter_user_last_name_max_length
 [X] 0010_alter_group_name_max_length
 [X] 0011_update_proxy_permissions
 [X] 0012_alter_user_first_name_max_length
contenttypes
 [X] 0001_initial
 [X] 0002_remove_content_type_name
sessions
 [X] 0001_initial
users
 [X] 0001_initial
 [X] 0002_category

データベース一覧確認

データベース上に作成されているテーブル一覧確認
docker exec -it <your_postgres_container> psql -U <your_username> <your_database>
コンテナ内に入った状態で実行
/dt
出力結果
$ docker exec -it reha_navi-db-1 psql -U postgres reha_navi
psql (16.5 (Debian 16.5-1.pgdg120+1))
Type "help" for help.

reha_navi=# \dt
                      List of relations
 Schema |            Name            | Type  |     Owner
--------+----------------------------+-------+---------------
 public | auth_group                 | table | myprojectuser
 public | auth_group_permissions     | table | myprojectuser
 public | auth_permission            | table | myprojectuser
 public | auth_user                  | table | myprojectuser
 public | auth_user_groups           | table | myprojectuser
 public | auth_user_user_permissions | table | myprojectuser
 public | django_admin_log           | table | myprojectuser
 public | django_content_type        | table | myprojectuser
 public | django_migrations          | table | myprojectuser
 public | django_session             | table | myprojectuser
 public | users_category             | table | myprojectuser
 public | users_user                 | table | myprojectuser
(12 rows)

モジュール一覧確認

プロジェクトフォルダ内のパッケージ一覧確認
docker-compose exec web find . -name "*.py"
出力結果
 $ docker-compose exec web find . -name "*.py"

./manage.py
./reha_navi/asgi.py
./reha_navi/settings.py
./reha_navi/urls.py
./reha_navi/wsgi.py
./reha_navi/__init__.py
./users/admin.py
./users/apps.py
./users/forms.py
./users/migrations/0001_initial.py
./users/migrations/0002_category.py
./users/migrations/__init__.py
./users/models.py
./users/tests.py
./users/urls.py
./users/views.py
./users/__init__.py

パッケージ一覧確認

プロジェクトフォルダ内の使用可能なパッケージ一覧確認
docker-compose exec web pip list
出力結果
$ docker-compose exec web pip list

Package             Version
------------------- -----------
amqp                5.3.1
asgiref             3.8.1
billiard            4.2.1
boto3               1.34.14
botocore            1.34.162
celery              5.3.6
click               8.1.7
click-didyoumean    0.3.1
click-plugins       1.1.1
click-repl          0.3.0
Django              5.0.1
django-cors-headers 4.3.1
django-storages     1.14.2
djangorestframework 3.14.0
gunicorn            21.2.0
jmespath            1.0.1
kombu               5.4.2
packaging           24.2
pillow              10.2.0
pip                 24.0
prompt_toolkit      3.0.48
psycopg2-binary     2.9.9
python-dateutil     2.9.0.post0
python-dotenv       1.0.1

パッケージの中にあるモジュールの確認方法

Pythonシェルを開き
docker-compose exec web python
シェルが開いている状態で、[モジュール.パッケージ名]を指定
>>> import django.<module_name>
>>> dir(django.<module_name>)
出力結果
>>> import django.urls
>>> dir(django.urls)
['LocalePrefixPattern', 'NoReverseMatch', 'Resolver404', 'ResolverMatch', 'URLPattern', 'URLResolver', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'base', 'clear_script_prefix', 'clear_url_caches', 'conf', 'converters', 'exceptions', 'get_callable', 'get_mod_func', 'get_ns_resolver', 'get_resolver', 'get_script_prefix', 'get_urlconf', 'include', 'is_valid_path', 'path', 're_path', 'register_converter', 'resolve', 'resolvers', 'reverse', 'reverse_lazy', 'set_script_prefix', 'set_urlconf', 'translate_url', 'utils']

ユーザー一覧の確認方法

docker-compose exec web python manage.py shell -c "from django.contrib.auth.models import User; import json; print(json.dumps([{'username': u.username, 'email': u.email} for u in User.objects.all()], indent=4))"
出力結果
JSON形式で返してくれる
[
    {
        "username": "admin",
        "email": "admin@example.com"
    },
    {
        "username": "test1",
        "email": "test@test.com"
    }
]

Discussion