day 67 django 之ORM 增删改查基础

一 操作基础前提准备

1、 新建django 项目 mysite  子项目app01 ,选择好做路径。

2  、2-1在app01 下面models 中引用 模块 from  django.db import models

2-2新建一个类C(成功后的表明)   行参(models.Model)

2-3

     id = models.AutoField(primary_key=True) #id 自增的数字

    name = models.CharField(max_length=20)   #varchar(20)
    age = models.IntegerField() # 就是int 数字类型 空
2-4 得到的表明前缀是app01_C 想要得到不含有app01加上
    class Meta:
      db_table = 'C'
3、在settings 设置database
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysite',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'PORT': '3306'
}
} 4、在django 项目中的__init__ 引入
import pymysql
pymysql.install_as_MySQLdb()
5、在django 项目中的URLS引入  模块inclue (为了包含子项目的url) 
from django.conf.urls import url ,include
from app001 import urls as app001_urls

urlpatterns = [
# url(r'^admin/', admin.site.urls),
url(r'^app001/', include(app001_urls)),
] 6在子项目app01中的URLS frkm app01
from app001 import views

urlpatterns = [
# url(r'^admin/', admin.site.urls),
url(r'^user/', views.user ),
] 7 开启项目 两种方法
7-1 上面 RUN manage.py Talk
    先登记 makemigrations + 子项目名称app
     执行 migrate +子项目名称aPP
7-2 在下边的terminal
先登记 完整版 python manage.py makemigrations
  执行 python manage.py migrate

day 67 django 之ORM  增删改查基础


---------------
from django.shortcuts import render
from django.shortcuts import redirect,render,HttpResponse
# Create your views here.
from app001 import models def user(request):
    
# user_list = models.User.objects.all()
# print(user_list) #因为里面没有内容 结果<QuerySet []> book_list1 = models.Book.objects.all() #查到所有的 在页面上显示
# print(book_list1[0].id,book_list1[0].title,book_list1[0].price) #里面有内容打印结果是对象 列表的格式 #t通过索引取值加上字段 可以取值 1 数学 12
#<QuerySet [<Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>]>
# book_list2 = models.Book.objects.first()
# print(book_list2) #Book object # 关于filter(条件) 过滤的意思 结果是个列表
# book_list3 = models.Book.objects.filter(id=3)
# print(book_list3) #[<Book: Book object>]> 列表的形式 和拿取所有的.all() 一样
# book_list4 = models.Book.objects.filter(title='语文')
# print(book_list4) #[<Book: Book object>]> 列表对象 # get的取值不是列表 条件不满足就会报错
# book_list5 = models.Book.objects.get(title='语文')
# print(book_list5) #get 得到的是个字符串 Book object # 关于字典的键值对 取值 把字典拆成键值对的方式**的方法
# ?????????????????????????
# dic = {'name': 'wangyan', 'age': 29}
# f1 = models.User.objects.filter(**dic)
# print(f1)
# user_list = models.Book.objects.filter(**dic) #空列表
# print(user_list[0].name)
# # print(list(dic.values())) # 查找id 对应的内荣
# book_list5 = models.Book.objects.filter(id=2)
# if len(book_list5) >0:
# print(book_list5[0].title)
# else:
# print('没有这个用户') # 增加数据的两种方式(添加)
# 第一种
# new_book1 = models.Book(title='化学',price=8.8)
# new_book1.save()
# 第二种直接添加
# new_book2 = models.Book.objects.create(title='化学1',price=8.8)
# 删除数据
# models.Book.objects.filter(id=7).delete()
# 更改数据 通过查找到的字段 修改一整行的数据
# models.Book.objects.filter(id=6).update(title='政治')
# models.Book.objects.filter(title='化学1').update(title='哲学',price='20') return render(request, 'user.html',{'book_list1':book_list1})


 

上一篇:无法将匿名方法转换为System.Delegate


下一篇:[linux]Socket编程的头文件