0
后,我的形式我做一个简单的网站,userena的用户注册和自定义表单在注册后填写。的Django不保存注册
但创建帐户和表单时提交DATAS are'nt存储。经过1分钟〜如果我刷新表单并重新提交一切工作,而不是将一个鲜注册/登入
有我的代码
models.py
from cms.models.pluginmodel import CMSPlugin
from django.db import models
from django.contrib.auth.models import User
class Game(models.Model):
name = models.CharField(max_length=100)
slug = models.CharField(max_length=50)
def __str__(self):
return self.name
class Tournament(models.Model):
name = models.CharField(max_length=100)
slug = models.CharField(max_length=50)
game = models.OneToOneField(
Game,
on_delete=models.CASCADE,
verbose_name="related game",
)
def __str__(self):
return self.name
class TeamMember(models.Model):
name = models.CharField(max_length=100, unique=True)
def __str__(self):
return self.name
class Team(models.Model):
name = models.CharField(max_length=100)
official = models.BooleanField(default=False)
tournaments = models.ManyToManyField(Tournament, blank=True)
user = models.OneToOneField(User, related_name='created_by')
team_member = models.ManyToManyField(TeamMember, blank=True)
def __str__(self):
return self.name
forms.py
class TeamRegistrationForm(forms.ModelForm):
team_member_1 = forms.CharField(widget=forms.TextInput, label="Team member 1")
team_member_2 = forms.CharField(widget=forms.TextInput, label="Team member 2")
team_member_3 = forms.CharField(widget=forms.TextInput, label="Team member 3")
class Meta:
model = Team
fields = [
'name',
]
def __init__(self, *args, **kwargs):
self.user = kwargs.pop('user', None)
super(TeamRegistrationForm, self).__init__(*args, **kwargs)
def save(self):
data = self.cleaned_data
team = Team(name=data['name'])
team.user = self.user
team.save(commit=False)
team.team_member.get_or_create(name=data['team_member_1'])
team.team_member.get_or_create(name=data['team_member_2'])
team.team_member.get_or_create(name=data['team_member_3'])
team.save()
如果有人有一个想法?非常感谢
我只是想您的解决方案,我得到一个错误“int()函数的参数必须是一个字符串,一类字节对象,数字,而不是‘TeamMember’”感谢您的帮助 – Bast
@Bast团队会保存?问题是为会员?尝试逐步打印变量并检查它们是什么以及问题在哪里。您也应该能够看到在错误页面中导致错误的行。如果你不能找到问题,给我印刷和错误路线的细节,所以我可以检查。祝你好运。 – Navid2zp