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