TIL #12 mysql-CRUD
5780 ワード
from products.models import Product
pythonまたはterminalを閉じて再開する場合は、再入力する必要があります.
Create
Read
Product.objects.all()
<QuerySet [<Product: Product object (1)>, <Product: Product object (2)>, <Product: Product object (3)>]>
即時インポートProduct.objects.get(id=1) == Product.objects.filter(id=1)[0]
<Product: Product object (1)>
Product.objects.filter(id=1) <QuerySet [<Product: Product object (1)>]>
特定のid値Product.objects.get(id=1)または製品.objects.get(name='coffee')
<Product: Product object (1)>
特定のidの名前Product.objects.get(id=1).name == Product.objects.filter(id=1)[0].name
coffee
<Product: Product object (1)>
Update
1番nameを変更
例1)
Product.objects.filter(id=1).update(name='ice')
(id=1ではなくname=「coffee」と入力できます.)
例2)または、変数にオブジェクトを配置して変更する
a1 = Product.objects.get(id=1).name
a1.name = ice
1 <-- True(성공적으로 바뀜, 0일 경우는 실패했다는 의미)
変数オブジェクト全体を変数に含める場合は、get
およびfilter
のいずれでもよい.a2 = Product.objects.get(id=1)
a2 = Product.objects.filter(id=1)
Product.objects.filter(id=3).update(price=100, description='very very very cold')
1
Product.objects.filter(id=1).update(description=None)
1
Delete
行全体を削除
Product.objects.get(id=1).delete()
Product.objects.filter(id=1).delete()
同じ値を削除
Product.objects.get(price=100).delete()
上の表にはprice=100が3つあるので削除しません.
price=100ですべて削除したい場合は、
Product.objects.filter(price=100).delete()
注意:
Project.objects.filter().delete() == Proejct.obejcts.all().delete
フィルタに値を入力しないと、テーブル全体が削除されます.
条件:モデリングでは、フィールド値を(null=True、blank=True)として事前に指定する必要があります.
その他のモデルメソッドタイプ exclude()
, values()
, values_list()
, count()
, first()
, last()
, exists()
칼럼이름__isnull=True
:null値フィルタ칼럼이름__exact=''
칼럼이름__contains='coffee'
:検索
例)
Product.objects.filter(name__isnull=True).exclude(description__exact='').count()
名前null&説明が空のテーブルcount
Product.objects.exclude(name__isnull=True)
Product.objects.exclude(name__exact='')
Reference
この問題について(TIL #12 mysql-CRUD), 我々は、より多くの情報をここで見つけました
https://velog.io/@tycode4/TIL-12-mysql-CRUD
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(TIL #12 mysql-CRUD), 我々は、より多くの情報をここで見つけました https://velog.io/@tycode4/TIL-12-mysql-CRUDテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol