美文网首页
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