美文网首页
2018-11-29Django模型关联

2018-11-29Django模型关联

作者: 叶叶阿姨 | 来源:发表于2018-11-29 19:54 被阅读0次

    模型

    一对一: OneToOneField(定义在任何一方都可以)
    一对多: Foreignkey(必须定义在多的一方)
    多对多: ManyToManyFiled(定义在任何一方都可以)
    AutoField()-->自动生成id数据类型

        class Student:
            #  OneToOneField定义在任何一方都可以
            stu_info = OneToOneField(StuInfo) 
    
            # Foreignkey必须定义在多的一方
            g = ForeignKey(Grade)
    
            # ManyToManyFiled定义在任何一方都可以
            c = ManyToManyFiled(Course)
        
     class StuInfo:
            id = AutoField()-->自动生成id数据类型
        class Grade:
            id = AutoField()
        class Course:
            id = AutoField()
    

    已知学生对象stu: 查询班级: stu.g 查询拓展表: stu.stu_info 查询课程: stu.c

    反过来查
    已知拓展表stu_info对象: 查询学生: stu_info.student
    已知班级grade对象: 查询学生: grade.student_set
    已知课程cou对象: 查询学生: cou.student_set

    模板

    解析标签:  
        {% 标签 %}
        标签有for、if、comment(注释)、static(静态链接)、
                ifequal( {% if a=1 %}和{% if equal a 1 %}是一个意思)、
                block(继承里的块)
                extends(继承里的要写在子文件的最上面 后面跟父文件的名字)-->整个文件继承
    解析变量: 
        {{ 变量 }}
    循环: 
        forloop.counter -->编号
        forloop.counter0 -->从0开始编号
        forloop.revcounter -->逆序编号
        forloop.revcounter0 -->从0开始的逆序编号
        forloop.first -->第一个数据
        forloop.last -->最后一个数据
    继承:
                super :必须写在坑里,是块级继承
                extends(继承里的要写在子文件的最上面 后面跟父文件的名字)-->整个文件继承
        {% block xxx %}-->块的开始 block:就是块/坑
            {{ block.super }}
        {% endblock %}-->块的结束,所有的结束块都是用end开头
    静态加载:
        STATICFILES_DIRS = [
            os.path.join(BASE_DIR, 'static')
        ]
        第一种方式:
        <link href="/static/css/index.css">
        第二种方式:
        {% load static %}
        {% static 'css/index.css' %}

    相关文章

      网友评论

          本文标题:2018-11-29Django模型关联

          本文链接:https://www.haomeiwen.com/subject/kvqqcqtx.html