Добрый день, перелопатил всю документацию, перепробовал множество способов, однако желаемого результата так и не могу получить.
Есть форма, которая привязанная к модели User. У модели User есть атрибут "term", который должен быть увеличен на 1 при каждом клике на сабмит.
Вот, что написал:
models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
from django.forms import ModelForm
class User(AbstractUser):
term = models.IntegerField(default=1)
forms.py
from django import forms
from .models import User
class UserProfile(forms.ModelForm):
term = forms.IntegerField()
class Meta:
model = User
fields = ['term']
views.py
def main(request):
args = {}
args.update(csrf(request))
args['term'] = auth.get_user(request).term
if request.method == 'POST':
a = User.objects.get(pk = 1)
form = UserProfile(request.POST or None, instance = a)
if form.is_valid():
term = auth.get_user(request).term
term += 1
form.save()
return redirect ('/base/main.html')
else:
args['form'] = form
return render_to_response('base/main.html', RequestContext(request, args))
При открытии страницы выводит поле, где только можно самому указать число. Я понимаю, что проблема в самом представлении форм, но, видимо, не хватает понимания... помогите, пожалуйста