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