zoukankan      html  css  js  c++  java
  • django学习笔记之ORM入门

    django为数据库的使用提供一种新的方式,关系对象映射(ORM)

    • 创建表
    • 操作表

    一、创建表

    首先需要在app目录下的models.py文件中创建类和字段,models.Model是必须要传入的参数:

    class User(models.Model):
        age = models.IntergerFiled()
        name = models.CharField(max_length=10)#字符长度
    

    然后执行两个命令

    Python manage.py makemigrations
    python manage.py migrate
    

    要注意需要在settings.py文件下先注册app,不然不知道应该将数据库的修改信息写入到哪一个app的migrations文件下面。

    类创建好之后,我们以后就可以通过对类的操作从而进行表的增删改查

    二、操作表

    增加字段(models.类名.objects.create):

    models.User.objects.create(name='qianxiaohu',age=18)
    或者: dic = {'name': 'xx', 'age': 19} models.User.objects.create(**dic)
    还可以:
    obj = models.User(name='qianxiaohu',age=18)
    obj.save()

     删除某一个字段(models.Users.objects.filter(条件).delete():

    models.User.objects.filter(id=1).delete()
    

     修改(models.objects.filter().update()):

    models.User.objects.filter(id__gt=1).update(name='alex',age=84)
    ic = {'name': 'xx', 'age': 19}
    models.User.objects.filter(id__gt=1).update(**dic)#__gt表示大于
    

     查询-->filter

    models.User.objects.filter(id=1,name='root')
    models.User.objects.filter(id__gt=1,name='root')#__gt表示大于
    models.User.objects.filter(id__lt=1)#小于
    models.User.objects.filter(id__gte=1)#大于等于
    models.User.objects.filter(id__lte=1)#小于等于
    			
    models.User.objects.filter(id=1,name='root')
    dic = {'name': 'xx', 'age__gt': 19}
    models.User.objects.filter(**dic)

    外键:

    外键:
    			class UserType(models.Model):
    				caption = models.CharField(max_length=32)
    		      id  caption
    			# 1,普通用户
    			# 2,VIP用户
    			# 3, 游客
    				
    			class User(models.Model):
    				age = models.IntergerFiled()
    				name = models.CharField(max_length=10)#字符长度
    				# user_type_id = models.IntergerFiled() # 约束,
    				user_type = models.ForeignKey("UserType",to_field='id') # 约束,
    		
    			  name age  user_type_id     
    			# 张扬  18     3
    			# 张A扬 18     2
    			# 张B扬 18     2
    

      

     

     

  • 相关阅读:
    js实现复制功能 javascript
    《架构整洁之道》之组件聚合
    《架构整洁之道》之组件
    js实现导出word
    js实现导出pdf
    《架构整洁之道》之依赖反转原则
    《架构整洁之道》之接口隔离原则
    《架构整洁之道》之里氏替换原则
    解决js地址栏中传递中文乱码的问题
    Windows安装nginx服务
  • 原文地址:https://www.cnblogs.com/mesunyueru/p/9117807.html
Copyright © 2011-2022 走看看