Я делаю приложение для портфолио в качестве личного проекта.У меня есть форма StockSymbolForm
, используемая для покупки акций.У него есть поля: username
, stock_symbol
и stock_qty
.
Я установил username
, чтобы быть текущим пользователем, который в данный момент использует приложение - поэтому им нужно только заполнить stock_symbol
и stock_qty
.
После отправки действительной формы я захожу на страницу администратора для проверки, но я не вижу своих новых stock_symbol
и stock_qty
, добавленных в мою модель.
Вот мой код:
views.py :
class PortfolioStockListView (ListView): model = StockPortfolio template_name = 'stocks.html'
def post(self, request):
current_user = StockPortfolioUser.objects.filter(username=request.user).first()
if request.method == 'POST':
symbol_form = StockSymbolForm(request.POST, initial={'username': current_user})
if symbol_form.is_valid():
symbol_form = StockSymbolForm(request.POST, instance=current_user)
model_instance = symbol_form.save(commit=True)
model_instance.timestamp = timezone.now()
model_instance.save()
return redirect('/')
else:
return render(request, 'stocks.html', {'symbol_form': symbol_form})
else:
symbol_form = StockSymbolForm()
return render(request, 'stocks.html', {'symbol_form': symbol_form})
models.py :
class StockPortfolioUser(models.Model):
username = models.OneToOneField(User, on_delete=models.CASCADE)
usercash = models.PositiveIntegerField(default=100000)
class StockPortfolio(models.Model):
username = models.ForeignKey(StockPortfolioUser, on_delete=models.CASCADE)
stock_symbol = models.CharField(max_length=5)
stock_qty = models.PositiveIntegerField(default=0)
forms.py :
класс StockSymbolForm (ModelForm):
class Meta:
model = StockPortfolio
fields = ('stock_symbol' , 'stock_qty')
labels = {'stock_symbol': 'Stock Symbol', 'stock_qty': 'Quantity'}
Как правильно сохранить экземпляр модели?а почему не экономит в данный момент?