Pythonデータモデリング(二)
2140 ワード
一、基本データアクセス
実行:python manage.py shellコマンドラインは、コマンドラインを使用してデータベース内の新しいテーブルにデータを追加します.
Publisher.objects.all()sqlに相当するselect文
それからもう一度見てみましょうobjects.all()の各部分;
まず、Publisherは私たちが定義したデータモデルであり、objectsは技術的にマネージャです.すべてのモデルにはobjectsマネージャがあり、データを検索するときに使用できます.最後にall()メソッドです.このメソッドはすべての戻りレコードを収集し、実際にはQuerySetオブジェクトです.
二、データフィルタ
データフィルタリングとは、実はsql文のwhere文に相当する
例えば、Publisher.objects.filter(name='Apppler',state_province='1111')
sql文select*from book_に相当publisher where name='Appler' and state_province = '1111';
もちろん、他にもいくつかのキーワードがあります.icontains-->Like range--->between order_by --->order by
オブジェクトを1つだけ取得してgetを使用する場合があります
Publisher.objects.get(name='Addison-Wesely')
同じデータが複数ある場合は、エラーが発生します.
またキーワードは組み合わせ可能
Publisher.objects.filter(name='ascs').order_by(name)
--->select * from books_publisher where name='ascs' order by name
もちろん、データの数を制限することもできます.
Publisher.objects.all()[0] ----> select * from books_publisher limit 1;
データの削除:
三、データモデル中の列の添削
これは言うまでもなく、データモデルでは列が増えたり、削除されたり、修正するときはテーブルの対応する列を変更する必要があります.
モデル全体が削除される場合は、テーブル全体を削除する必要があります.
Djangoデータモデルはこれらの内容について、その後、プロジェクトに基づいて補足します.
実行:python manage.py shellコマンドラインは、コマンドラインを使用してデータベース内の新しいテーブルにデータを追加します.
>>> from books.models import Publisher
>>> p2 = Publisher(name='0cisac',address='10 falncsk Street',city='Cambridge',state_province='MA',country='USA',website='http://www.orilety.com')
>>> p2 = Publisher(name='0cisac',address='10 falncsk Street',city='Cambridge',state_province='MA',countray='USA',website='http://www.orilety.com')
>>> p2.save()
>>> publisher_list = Publisher.objects.all()
>>> publisher_list
これでコマンドラインにデータが追加されました(データを追加するにはsql文でいいです.ここではコマンドラインの追加を示します)Publisher.objects.all()sqlに相当するselect文
それからもう一度見てみましょうobjects.all()の各部分;
まず、Publisherは私たちが定義したデータモデルであり、objectsは技術的にマネージャです.すべてのモデルにはobjectsマネージャがあり、データを検索するときに使用できます.最後にall()メソッドです.このメソッドはすべての戻りレコードを収集し、実際にはQuerySetオブジェクトです.
二、データフィルタ
データフィルタリングとは、実はsql文のwhere文に相当する
例えば、Publisher.objects.filter(name='Apppler',state_province='1111')
sql文select*from book_に相当publisher where name='Appler' and state_province = '1111';
もちろん、他にもいくつかのキーワードがあります.icontains-->Like range--->between order_by --->order by
オブジェクトを1つだけ取得してgetを使用する場合があります
Publisher.objects.get(name='Addison-Wesely')
同じデータが複数ある場合は、エラーが発生します.
またキーワードは組み合わせ可能
Publisher.objects.filter(name='ascs').order_by(name)
--->select * from books_publisher where name='ascs' order by name
もちろん、データの数を制限することもできます.
Publisher.objects.all()[0] ----> select * from books_publisher limit 1;
データの削除:
>>> p = Publisher.objects.get(name='Addison-Wesely')
>>> p.delete()
(1, {'books.Publisher': 1})
>>> Publisher.objects.all()
]>
三、データモデル中の列の添削
これは言うまでもなく、データモデルでは列が増えたり、削除されたり、修正するときはテーブルの対応する列を変更する必要があります.
モデル全体が削除される場合は、テーブル全体を削除する必要があります.
Djangoデータモデルはこれらの内容について、その後、プロジェクトに基づいて補足します.