zoukankan      html  css  js  c++  java
  • Django的ORM

    一、创建表:

    1、单表

    2、关联表:

        一对一:

        一对多:

        多对多:

    二、操作表:

      增:——create

        方式一:

            1、models.Rep1.objects.create(name=“jack”,age=18)#--键值对方式

            2、dic={“name”:“jack”,“age”:18}

              models.Rep1.objects.create(**dic)#--字典的形式,推荐使用

        存在表的一对多关系怎么办呢?

            1、models.Rep1.objects.create(name=“jack”,age=18,city_id=1)

            2、models.Rep1.objects.create(name=“jack”,age=18,city=obj)#--推荐使用

        存在表的多对多关系怎么办呢?

            Django通过自动创建,采用以下方法增加数据

            add ()#绑定关系

            remove()#取消关系

            (1)通过Rep1绑定City表——正向查询

            name=models.Rep1.objects.filter(id=2)[0]

            citys=models.City.objects.filter(id__gt=2)#id大于2的Queryset集合

            name.City.remove(*citys)

            (2)通过City绑定Rep1表——反向查询

            city=models.City.objects.filter(id=3)[0]#id大于2的Queryset集合

            names=models.Rep1.objects.filter(id__gt=2)

            city.rep1_set.add(*names)#如果表里面就一个字段,用:“表名小写_set”,完成关系建立

            city.rep1_set.remove(*names)

            不通过Django通过自动创建,手工自己创建第三张表关联其他两张表,建立多对多关系,采用以下方法增加数据

            创建第三张表:

            class Rep1_to_City():
              name=models.ForeignKey("city")
              city=models.ForeignKey("name")

            class Meta:
            unique_together=["name","city"]

            定义函数,插入数据:

             models.Rep1_to_City.objects.create(Rep1_id=2,

                             City_id=3)

            

        方式二:

            1、obj=Rep1(name="jack",age=18)

              obj.save()

            2、obj=Rep1()

               obj.name="jack"

               obj.age=18

               obj.save()

  • 相关阅读:
    Calling a parent window function from an iframe
    JSON with Java
    Posting array of JSON objects to MVC3 action method via jQuery ajax
    What's the difference between jquery.js and jquery.min.js?
    jquery loop on Json data using $.each
    jquery ui tabs详解(中文)
    DataTables warning requested unknown parameter
    Datatables 1.10.x在命名上与1.9.x
    jQuery 1.x and 2.x , which is better?
    DataTabless Add rows
  • 原文地址:https://www.cnblogs.com/pythonkids/p/8241624.html
Copyright © 2011-2022 走看看