在Django中从单个表单提交在数据库中创建多个记录

时间:2017-09-05 04:16:34

标签: python django django-forms django-views

如何从单个表单创建多个记录?

在我的应用程序中,管理员管理多个路由。

models.py

class Route(models.Model):
    milage = models.PositiveSmallIntegerField(...
    fuel = models.PositiveSmallIntegerField(...
    start_time = models.DateTimeField(...
    route_time = models.DateTimeField(...
    date = models.DateTimeField(...

class Driver(models.Model):
    driver = models.CharField(max_length...
    usual_route = models.ForeignKey(Route)

class Daily(models.Model):
    date = models.DateTimeField(...
    route = models.ForeignKey(Route)
    driver = models.ForeignKey(Driver)
    stage = models.PositiveSmallIntegerField(...

假设管理员管理10条路线。我想要的是管理员通过提交带有日期的表单来创建每日计划,从而开始每一天。提交时,我想在数据库中创建10条记录,每条路径一条。所有10条记录的日期与表单上提交的日期相同,但每条记录都有不同的驱动程序和路径。

我知道如何将静态信息添加到单个记录中,但我不知道如何:

  1. 从一个帖子创建10条记录
  2. 动态更改每条记录的字段(即驱动程序,路径)。
  3. 目前视图看起来像这样。所有记录都有stage = 1:

    class DailySchedule(CreateView):
        model = Daily
        form class = ...
    
        def form_valid(self, form):
            instance = form.save(commit = False)
            instance.stage = 1
    

    有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:0)

如何使用var str1 = '09 Aug'; var str2 = ' '+(new Date()).getFullYear(); var res = str1.concat(str2);//outputs 09 Aug2017 new Date(res);//outputs Wed Aug 09 2017 00:00:00 GMT-0400 (Eastern Daylight Time) 呢?像这样:

for-loop