How can I create several records from a single form?
In my application, an administrator manages several routes.
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(...
Assume that an administrator manages 10 routes. What I want is for an administrator to start each day by creating a daily schedule by submitting a form with a date. On submission, I want to create 10 records in the database, one for each route. All 10 records will have the same date as submitted on the form, but each will have a different driver and route.
I know how to add static information to a single record but I don't know how to:
- Create 10 records from a single post
- Dynamically change a field (i.e. driver, route) for each record.
Currently the view looks like this. All records have stage = 1:
class DailySchedule(CreateView):
model = Daily
form class = ...
def form_valid(self, form):
instance = form.save(commit = False)
instance.stage = 1
Any ideas? Thanks.