我是Django框架的新手。我为某种活动进度报告构建网站。
有一组预定义的活动,包含5个活动,但可以更改(添加/删除)。 所有部门都使用此套装。 每个部门将每月记录他们的进度报告,完成每项活动的工作数量。
模型是:
class Department(models.Model):
dept_id = models.CharField(max_length=11, unique=True)
dept_name = models.CharField(max_length=40)
# this one is extending the Django user model
class UserDept(models.Model):
user = models.OneToOneField(User)
user_dept = models.ForeignKey(Department)
class Month(models.Model):
month_id = models.SmallIntegerField()
month_name = models.CharField(max_length=9)
# defining the activities, is_active field to disable particular activities
class Activities(models.Model):
actv_id = models.CharField(max_length=6, unique=True)
actv_name = models.CharField(max_length=100)
works_target = models.SmallIntegerField()
year = models.SmallIntegerField()
is_active = models.BooleanField(default=True)
# entries of work done for each activities of each month, by each department
class ProgressReport(models.Model):
department = models.ForeignKey(Department)
month = models.ForeignKey(Month)
activities = models.ForeignKey(Activities)
work_done = models.IntegerField()
modifydate = models.DateTimeField(auto_now=True, auto_now_add=True)
我的问题是,我需要表单一次提交5个活动,只需点击一下提交按钮,就可以进入ProgressReport模型。
表单应该看起来像(基本上像Excel Sheet):
(活动从活动模型中动态获取)| (虚线是work_done条目的表单文本字段)
(提交按钮)
如何使活动模型中的活动成为表单域,活动名称为标签,还将部门(已在一个会话变量中)和月份值写入数据库?