class Parameters(models.Model):
user = models.ForeignKey(User)
title = models.CharField('title', max_length=100, default='', blank=True, help_text='Use an indicative name, related to the chosen parameters')
type = models.CharField('forecast type', choices=FORECAST_TYPES, max_length=20, default="backtest")
#input characteristics
price_1_min = models.FloatField('1. Price, min', default=0.1, validators=[MinValueValidator(0.1), MaxValueValidator(20000)])
def get_backtest_url(self):
return reverse('saved_backtest', kwargs={'pk':
self.pk})
The save function in views.py:
if request.method == 'POST':
if form.is_valid():
if 'save' in request.POST:
obj = form.save(commit= False)
obj.user = request.user
obj.type = "backtest"
obj.save()
return redirect(obj.get_backtest_url())
The template for the saved form is :
<div> {% if user.is_authenticated %}
{% if user.profile.is_active %}
Saved from "Backtesting"
<ul>
{% for param in user.parameters_set.all %}
{% if param.type == "backtest" %}
<table style="width:100%">
<tr>
<th> Saved File </th>
<th> Created at </th>
<tr>
<td> <a href='{{param.get_backtest_url}}'>{{param.title}} </a> </td>
<td> {{param.created_at}} </td>
</tr>
</table>
{% endif %}
{% endfor %}
</ul>