• 001.Django_Model.整理


    Django001_Model.整理


    Model表设计

    数据定义数据存储,输出
    a.定义表(信息 =字段) + 定义表关系 + (定义/限制)数据
    b.通过orm等方法来,定义method来编辑原始数量来输出
    __str__

    1.表设计

    数据库表的属性
    主键
    unique_key
    默认值(default)
    null/blank
    max_length

    django admin的属性
    verbose_name
    help_text

    2.表关系

    foreignkey
    on_delete
    manytomany

    3.字段的数据限制(定义)
    choice
    数据值的方法(数据库表里查询)

    4.表的方法
    1.必须写
    __str__

    2.字段的文字方法(简单)
    def show_classes(self):
    return ' | '.join([str(i) for i in self.class_list.all()])

    3.字段的文字方法(对象)

    def show_status(self):
    """
    """

    color_dict = {
    "signed": "green",
    "unregistered": "red",
    "studying": "pink",
    "paid_in_full": "blue"
    }

    return mark_safe(
    '<span style= "background-color: {};color: white; padding: 4px">{}</span>'.format(color_dict[self.status],
    self.get_status_display()))

    def show_classes(self):
    return ' | '.join([str(i) for i in self.class_list.all()])

    def enroll_link(self):

    if not self.enrollment_set.exists():
    return mark_safe('<a href={}">添加报名表</a>'.format(reverse('add_enrollment', args=(self.id,))))
    else:
    return mark_safe(
    '<a href={}">添加</a> | <a href={}">查看</a>'.format(reverse('add_enrollment', args=(self.id,)),
    reverse('enrollment', args=(self.id,))))

    def __str__(self):
    return self.name

    5.表的meta
    index
    unique_together

    ModelForm
    1.表设计

    数据库表的属性
    主键
    unique_key
    默认值(default)
    null/blank
    max_length

    django admin的属性
    verbose_name
    help_text

    2.表关系

    foreignkey
    on_delete
    to
    related_name
    manytomany


    3.字段的数据限制(定义)
    choice
    数据值的方法

    4.表的方法
    __str__

    5.拿到数据的值的方法


    5.表的meta
    index
    unique_together

  • 相关阅读:
    关于prototype属性的理解
    关于js中原型链的理解
    关于焦点轮播图的优化
    两个动画函数的分析
    JavaScript 实用技巧和写法建议
    Vue SPA 首屏加载优化实践
    带你优雅的使用 icon
    前端本地文件操作与上传
    学习webpack
    Vue 脱坑记
  • 原文地址:https://www.cnblogs.com/stonelee2005/p/12083535.html
Copyright © 2020-2023  润新知