• DjangoORM基本增删改查


    DjangoORM基本增删改查
    UserInfo为创建的app文件夹中models.py文件夹中自己创建的一个类
    from django.db import models
    class UserInfo(models.Model):
    #用户名,字符串类型,指定长度
    username = models.CharField(max_length=32)
    password = models.CharField(max_length=64)
    #创建
    方式:
    1.models.UserInfo.objects.create(username="root",passwordd="123")
    2.dic = {"username":"aric","password":"123"}
    models.UserInfo.objects.create(**dic)
    3.obj = models.UserInfo(username="root",passwordd="123")
    obj.save()

    #查找
    方式:
    1.result = models.UserInfo.objects.all()#查找所有
    2.result = models.UserInfo.objects.filter(username="root")

    for row in result:
    print(row.id,row.username,row.password)

    删除
    1.models.UserInfo.objects.filter(username="aric").delete
    2.models.UserInfo.objects.all().delete

    更新
    1.models.UserInfo.objects.filter(username="aric").update(password="666")
    2.models.UserInfo.objects.all().update(password="666")

    外键
    class UserType(models.Model):
    caption = models.CharField(max_length=32)
    class User(models.Model):
    age = models.IntergerField()
    name = models.CharField(max_length=10)
    user_type = models.ForeignKey("UserType",to_field="id")#to_field参数表示和表中哪个字段创建外键关系,如果不指定to_filed,默认则是与主键建立外键关系


    一对多块表操作的三种方式
    def host(request):
    v1 = models.Host.objects.filter(nid__gt=0)
    for row in v1:
    print(row.nid, row.hostname, row.ip, row.port, row.b_id, row.b.caption, row.b.code, row.b.id)
    v2 = models.Host.objects.filter(nid__gt=0).values("nid", "hostname", "b_id", "b__caption") # 跨表查找需要用双下划线
    for row in v2:
    print(row["nid"], row["hostname"], row["b_id"], row["b__caption"])
    v3 = models.Host.objects.filter(nid__gt=0).values_list("nid", "hostname", "b_id", "b__caption") # 跨表查找需要用双下划线
    # for row in v2:
    # print(row[0], row[1], row[2], row[3])

    return render(request, "host.html", {"v1": v1, "v2": v2,"v3":v3})

          

          

    
    
  • 相关阅读:
    【NIFI】 Apache NiFI 之 ExecuteScript处理(一)
    【NIFI】 实现数据库到数据库之间数据同步
    【Git】 GitLab服务器社区版安装与配置
    【ElasticSearch】 ElasticSearch安装(一)
    【NIFI】 开发自定义Nifi Processor
    【NIFI】 Apache NiFI 与 SQL 操作
    【NIFI】 Apache NiFI 安装及简单的使用
    【RabbitMQ】 Java简单的实现RabbitMQ
    【RabbitMQ】 RabbitMQ配置开机启动
    【Linux】开机自动启动脚本
  • 原文地址:https://www.cnblogs.com/cansun/p/8647031.html
Copyright © 2020-2023  润新知