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()) 与该作者关联的所有书籍的对象的集合