• Django 中orm的第一次举荐


    Django
    ORM :对象--关系--映射
    创建Django准备工作:
    1.在数据库创建你需要的数据库

    2.在项目models里创建模型(就是python写的类,也可以说是python写的数据库)
    class Book(models.Model):
    id=models.AutoField(primary_key=True)
    title=models.CharField(max_length=32)
    state=models.BooleanField()
    pub_date=models.DateField()
    price=models.DecimalField(max_digits=8,decimal_places=2)
    publish=models.CharField(max_length=32)

    3.setting配置操作(以前的DATABASES注释掉,拷贝下面代码上去)
    DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME':'bms',      # 要连接的数据库,连接前需要创建好
    'USER':'root',       # 连接数据库的用户名
    'PASSWORD':'',       # 连接数据库的密码
    'HOST':'127.0.0.1', # 连接主机,默认本级
    'PORT':3306     # 端口 默认3306
    }
    }

    4.在项目下__init__里添加下面这段代码:
    import pymysql
    pymysql.install_as_MySQLdb()

    5.以上4步完成之后数据库并没有你的表,我们还得进行数据库的迁移操作,在pycharm终端里直接输入
    1.python manage.py makemigrations #进行数据同步操作
    2.python manage.py migrate #进行python写的数据库编译成sql语句

    5.5 注意!为了确保INSTALLED_APPS中写入我们创建的app名称,我们的检查一下
    INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    "book" #这个就是我们的项目数据库中表的名称
    ]

    6.这样,我们就可以创建成功了!前期的准备工作完成!


    单表操作:

    def addbook(request)

    方式一:
     Book.objects.create(title='python',price=100,publish="苹果出版社",pub_date="2012-12-12")

    方式二:
    book_obj = Book(title='python',price=100,publish="苹果出版社",pub_date="2012-12-12")
    book_obj.save()

    return HttpResponse('ok')



    直接查到你要删除的数据后边直接+delete() 例如:删除掉python数据
    ret = Book.objects.filter(title='python').delete() #没有返回值
    print(ret)



    查到你要修改的数据后边+update() 括号里写你要修改的数据,例如:把python价格修改成2000
    bookinfo= Book.object.filter(title='python')update(price=2000)
    print(bookinfo)



    1.all() 查询所有
    ret = Book.objects.all()
    print(ret)

    2.filter() 按照查询匹配的对象
    ret = Book.objects.filter(title='python')
    print(ret)

    3.get() 只能查到只有一个对象的数据,多个对象或者没有则直接报错
    ret = Book.objects.get(title='python')
    print(ret)

    4.exclude() 只要没有比配的都被查出来
    ret = Book.objects.exclude(title='python')
    print(ret)

    5.order_by() 对查询结果进行排序
    ret = Book.objects.filter(title='c#').order_by('-price') #c#这本书的排序就是price=200在前面

    6.reverse() 对查询结果进行反向排序,ord_by 需要加参数 reverse 则不需要
    ret=Book.objects.all().order_by('price').reverse()
    print(ret)


    7.first()
    ret = Book.objects.filter(title='python').last()
    print(ret)


    8.last()
    ret = Book.objects.filter(title='python').last()
    print(ret)


    9.count() 数数
    ret = Book.objects.filter(title='python').count()
    print(ret)


    10.exists() 如果jueryset 里有值就返回 True
    ret = Book.objects.exists()
    print(ret)


    11.values()返回的是一个queryset对象,里边是字典方式存储 [{'title': '四有青年'}, {'title': 'python'}...]
    ret = Book.objects.all().values('title')
    print(ret)


    12.values_list 返回的是一个queryset对象,里边是元组形式存储 [('四有青年',), ('python',)...]
    ret = Book.objects.all().values_list('title')
    print(ret)

    13.distinct 从返回的数据中除掉重复的数据<QuerySet [('中国青年报',), ('人民出版社',), ('人民日报',)]>
    ret = Book.objects.all().values_list('publish').distinct()
    print(ret)

    模糊查询


    1.price__in=[100,124,200,300] 在这里的都能被查到
    ret = Book.objects.filter(price__in=[100,124,200,300])
    print(ret)


    2.price__gt=200 大于价格200的书籍
    ret = Book.objects.filter(price__gt=200)
    print(ret)


    3.price__gt=200 小于价格200的书籍
    ret = Book.objects.filter(price__lt=200)
    print(ret)


    4.price__range=[100,500] 价格在100--500之间的书籍
    ret = Book.objects.filter(price__range=[100, 500])
    print(ret)

    5.title__contains='python' 查看python的书籍
    ret = Book.objects.filter(title__contains='java')
    print(ret)



    6.
    ret = Book.objects.filter(title__icontains='python')
    print(ret)


    7. 按照年查询 查询2018年10月份的书
    ret = Book.objects.filter(pub_date__year=2018,pub_date__month=10)
    print(ret)

  • 相关阅读:
    How to Create a site at the specified URL and new database (CommandLine Operation)
    Using Wppackager to Package and Deploy Web Parts for Microsoft SharePoint Products and Technologies
    SQL Server Monitor v0.5 [Free tool]
    How to build Web Part
    Deploy web part in a virtual server by developing a Web Part Package file(.cab)
    How to recreate "sites" link if you delete it accidentally
    SharePoint Portal Server管理匿名访问设置
    Monitor sql connection from .Net SqlClient Data Provider
    Brief installation instruction of Sharepoint Portal Server
    How to Use SharePoint Alternate URL Access
  • 原文地址:https://www.cnblogs.com/lzqrkn/p/9858386.html
Copyright © 2020-2023  润新知