十五.增加一个项目协作留言板功能(一)----- 建立留言板的model
来源:互联网 发布:个人理财产品 知乎 编辑:程序博客网 时间:2024/06/05 00:20
前十四章节已经介绍了如何用django来建立一个信息系统,解决了增删改查的问题。那么接下来,为了适应工作需要,我们在此建立一个简单的项目协作留言板功能。项目留言板可以通过新建项目,同时大家可以在项目留言板上留言,来互相协作。
设计留言板的功能
留言板主要分为项目和实施步骤。一个项目对应多个步骤,所以是一对多的关系。同时,允许上传附件,而一个项目也对应多个附件,所以与附件的关系也是一对多的关系。而一个项目有多个人实施,一个人也会实施多个项目。因此,项目与人员的关系是多对多的关系。
2.建立相关模型
#建立职员模型,这是对内置user表的扩展class Employee(models.Model): #对应User表,建立一对一的模型,目的是更好地扩展而不影响原user表结构 user = models.OneToOneField(User, on_delete=models.CASCADE) #定义user的职责 responsibility = models.CharField(max_length=100,blank=True) def __unicode__(self): return self.user.username#建立任务表class Task(models.Model): #执行的任务和人员关系是多对多的关系 task_member = models.ManyToManyField(Employee) #为任务类型分类 category = ( (U'综合事务','综合事务'), (U'机构建设','机构建设'), (U'线路事务','线路事务'), ) #任务的流水号 task_code = models.CharField(max_length=30, default='error_code') #任务的名称 task_title = models.CharField(verbose_name='任务名称',max_length=100) #任务的分类 task_category = models.CharField(verbose_name='任务分类',max_length=100,choices=category,default='综合事务') #任务的联系人 task_contacts = models.TextField(verbose_name='联系人',blank=True) #任务状态 task_status = models.CharField(verbose_name='处理中',max_length=20,default='处理中') #任务登记人 task_signer = models.CharField(max_length=30,default='system') #任务登记时间 task_signtime = models.DateField(auto_now_add=True) def __unicode__(self): return self.task_title#建立实施步骤class Process(models.Model): #与task表格是一对多的关系,依附于task之上 task = models.ForeignKey(Task) #实施步骤内容 process_content = models.TextField(blank=True) #实施步骤登记时间 process_signtime = models.DateTimeField(auto_now_add=True) #实施步骤登记人 process_signer = models.CharField(max_length=30,default='system') def __unicode__(self): return self.process_content#上传附件class Upload(models.Model): #与task表格是一对多的关系,依附于task之上 task = models.ForeignKey(Task) #上传附件名称 upload_title = models.CharField(max_length=255) #上传附件路径 upload_path = models.CharField(max_length=255) #上传附件时间 upload_signtime = models.DateTimeField(auto_now_add=True,null=True) def __unicode__(self): return self.upload_title
0 0
- 十五.增加一个项目协作留言板功能(一)----- 建立留言板的model
- 十六.增加一个项目协作留言板功能(二)----- 建立一个任务管理的列表页面
- 十七. 增加一个项目协作留言板功能(三)----- 增加任务的修改和删除功能
- 十九. 增加一个项目协作留言板功能(五)----- 增加添加附件功能
- 十八. 增加一个项目协作留言板功能(四)----- 增加实施步骤的增删改查功能
- 二十. 增加一个项目协作留言板功能(六)----- 增加一个任务结束按钮
- 留言板制作(一)
- 留言板功能
- 留言板功能
- 留言板功能
- 帝国CMS留言板增加字段功能
- 一个简单的留言板(JSP)
- 一个留言板
- 留言板!
- 留言板
- 留言板
- 留言板
- 留言板
- 高德地图图片图层瓦片的实现(不是用一张大图,那样容易导致移动设备死机)
- 调整Android手机的默认亮度
- oninput,onpropertychange,onchange的用法和区别
- C#设计模式—桥接模式
- 《ViewPager 详解(二)---详解四大函数》
- 十五.增加一个项目协作留言板功能(一)----- 建立留言板的model
- Android Studio无法使用Apache的HttpClient
- gearman:从安装到python API测试
- 第二课作业(刘萌150206318)
- camshiftdemo.cpp的详细注释
- 常用正则表达式
- CSS中强大的em
- PX4二次开发
- 安卓自带下拉刷新SwipeRefreshLayout添加上拉刷新功能