zoukankan      html  css  js  c++  java
  • 外键介绍,manytomany介绍,filter跨表双下划线

    # Create your models here.
    class Classes(models.Model):#班级表
        title=models.CharField(max_length=32)
        m=models.ManyToManyField('Teacheres')#加上引号,全执行完后才来执行,表的多对多
    
    class Teacheres(models.Model):#教师表
        name=models.CharField(max_length=32)
    #obj=Teacheres(name='雄安房')
    #obj.save()
    class Student(models.Model):
        username=models.CharField(max_length=32)
        age=models.IntegerField()
        #gender=models.BooleanField()布尔值
        gender = models.NullBooleanField()#可以为空的布尔值
        cs=models.ForeignKey(Classes)#这个classes不用加引号,因为在上面,顺序执行,

    cs存的就是cs_id是一条另一张表的完整的记录
    # 外键存放的另一张表的记录一组一组的id和title
    #filter 跨表filter(cs__name
    =cname)双下划线
    all()拿到的也是很多记录 用for 拿某一条记录
    【】列表,()元祖{}字典
    obj=classes.objects.filter(id=1).first()
    obj.m.add[2,3]m是manytomany的,若没有,会新建一张教师表
    id 班级id 教师id
    1  1  2
    2  1  3
    .m.remove()
    .m.clear()
    .m.set()

    1类代表数据库的表,
    2类的对象代表表的一行记录
    3外键代表另一张表的一行记录
    4 manytomany,会默认自动生成第三张表teacher,然后通过本表对第三张表操作

    5 stu_list=Student.objects.all()相当于select *from
    for row in stu_list:
    row.cs_id,
    6 stu=Student.objects.all().values('username','id')相当于select username,id from

    7拿另一张表
    Student.objects.filter(cs__title='科技班').all()filter里双下划线跨表拿class表科技班所有学生
  • 相关阅读:
    xmind等工具下载
    remix使用经验积累
    visual studio code下载地址
    以太坊存储类型(memory,storage)及变量存储详解
    remix共享本地文件夹教程
    在remix恢复已部署的合约步骤
    ERC721 相关语法和知识点学习
    用truffle写测试用例
    truffle环境搭建和应用
    jenkins pipeline基础语法与示例
  • 原文地址:https://www.cnblogs.com/wfl9310/p/9444243.html
Copyright © 2011-2022 走看看