🐍
【Python】モデル・モジュール・パッケージ一覧の確認コマンド
モデル一覧確認
モデル一覧確認
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