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

posted on 2019-12-23 14:21  stonelee2005  阅读(255)  评论(0编辑  收藏  举报