Я не могу обновить таблицу результатов в Django, используя словарь, возможно, мне нужно включить имя пользователя в качестве ключа, но я не знаю, как это сделать?
в func.py
from django.contrib.auth import authenticate
from django.contrib import messages
from django.views.decorators.csrf import csrf_protect
from .forms import SignUp
from .models import Table, Results
from django.contrib.auth.models import User
from .serializers import TableSerializer, SessionAvgSerializer, ResultsSerializer
curArr=[GBP,EUR]
def calc(curArr, user_results, username):
results = {}
specs = {'GBP': 1,'USD': 2, 'EUR': 3}
for item in curArr:
if item in specs:
results[item] = specs[item]
for (key, value) in results.items():
setattr(Results, key, value)
Results.save()
return(results)
в models.py
class Results(models.Model):
Currency = models.CharField(max_length=32)
Value = models.IntegerField()
Units = models.CharField(max_length=4)
user = models.ForeignKey(User, on_delete=models.CASCADE)
Чтобы увидеть, что таблица результатов обновляется с помощью:
Username | Currency | Value | Units|
GBP 1
EUR 3
, но вместо этого я получаю: Results.save() TypeError: save () отсутствует 1 обязательный позиционный аргумент: 'self'