KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a model: class Cost(models.Model): project = models.ForeignKey(Project) cost = models.FloatField() date = models.DateField() For the model I created a ModelForm class: class CostForm(ModelForm): class Meta: model = Cost fields = ['date', 'cost'] with view.py : def cost(request, offset): if request.method == 'POST': # NOTE: How to save the data in DB? return HttpResponseRedirect('/') else: form = CostForm() and next template: <form action="/cost/{{ project }}/" method="post" accept-charset="utf-8"> <label for="date">Date:</label><input type="text" name="date" value={{ current_date }} id="date" /> <label for="cost">Cost:</label><input type="text" name="cost" value="0" id="cost" /> <p><input type="submit" value="Add"></p> </form> Question How I can save the data from the form to the database? Some additional information: model.py contains class Project(models.Model): title = models.CharField(max_length=150) url = models.URLField() manager = models.ForeignKey(User) timestamp = models.DateTimeField() My attempt I tried to implement the solution in a next way (note: offset = project name): def cost(request, offset): if request.method == 'POST': form = CostForm(request.POST) if form.is_valid(): instance = form.save(commit=False) instance.project = Project.objects.filter(title=offset) instance.date = request.date instance.cost = request.cost instance.save() return HttpResponseRedirect('/') else: form = CostForm() But it does no
Tags (comma-separated)
Save Edits
Cancel