ORM: object relationship mapping
阿新 • • 發佈:2017-10-27
distinct tinc 關聯 記錄操作 log book pytho exist filter
ORM: object relationship mapping 關於數據庫的兩條命令: python manage.py makemigrations python manage.py migrate 數據庫第一次配置必須完成數據庫的遷移,執行上邊的兩條命令就好 表單的記錄操作: 1、添加 obj = models.表名(**kwargs) obj.save() models.表名.objects.create(**kwargs) 2、修改 #方式一: obj = models.表名.objects.filter(name="python")[0] obj.name = "JAVA" obj.save #方式二 update models.表名.objects.filter(name="python").update(**kwargs) 3、刪除: models.表名.objects.filter(name="python").delete() 4、查詢: QuerySet集合對象: models.表名.objects.all() models.表名.objects.filter(**kwargs) models.表名.objects.all().values(*args) models.表名.objects.all().values_list(*args) models.表名.objects.exclude(**kwargs) models.表名.objects.order_by(*args) models.表名.objects.distinct(*args) model對象: models.表名.objects.get(**kwargs) models.表名.objects.filter(**kwargs).first() models.表名.objects.filter(**kwargs).last() models.表名.objects.filter(**kwargs).count() models.表名.objects.filter(**kwargs).exist() 關聯表記錄操作: 表關系: 1、一對一 2、一對多 3、多對一 添加記錄: 一對多: 創建一對多: publish = models.Foreignkey("Publish",related_name="bookList") #添加記錄方式1: models.Book.objects.create(publish_id=1) #添加的記錄方式2: pubObj = models.Publish.objects.filter(name = "人民出版社")[0] models.Book.objects.create(publish=pubObj) 多對多: 創建多對多關系: authorlist = models.ManyToManyField("Author",related_name="bookList") 多對多添加記錄: book_obj = models.Book.objects.create(title="追風的人",price=100,publishDate="2017-12-12",publish_id=2) alex_obj = models.Author.objects.filter(name="alex")[0] egon_obj = models.Author.objects.filter(name="egon")[0] 查詢記錄: 正向查詢: 一對多: linux_obj = models.Book.objects.filter(title="linux").first() print(linux_obj.publish.name) #與這本書對象關聯的出版社的對象的名字 多對多: linux_obj = models.Book.objects.filter(title="linux").first() print(linux_obj.authorlist.all()) #與這本書關聯的所有的作者的對象集合 反向查詢: 一對多: eg:查找人民出版社出版過的書籍的名字 publist_obj = models.Publish.objects.filter(name="人民出版社")[0] print(publist_obj.bookList.all()) #出版社書籍對象集合 多對多: eg:查找yuan出版過的素有書籍的名字和價格 author_yuan = models.Author.objects.get(name="yuan") print(author_yuan.bookList.all()) 與該作者關聯的所有書籍的對象的集合
ORM: object relationship mapping