0
今はモデルフィールドに1つのフィールドはありませんが、モデルには3つのフィールドがあります。フォームで設定すると、デフォルトではfalseに設定されています。最後にはビューに設定されますが、idkなぜそれが正しく行われません。Django - フォームにはないがモデルにあるフィールドに試してみよう
モデル&フォーム。
class TeamMembership(models.Model):
user = models.ForeignKey(User)
team = models.ForeignKey(Team)
leader = models.BooleanField(default=False)
class TeamSettings_acceptForm(forms.ModelForm):
class Meta:
model = TeamMembership
fields = ('user',)
ビュー
@login_required
def teamsettings_accept_applications(request, team_pk):
if request.method == 'POST':
logged_in_user = get_object_or_404(User, pk=request.user.pk)
requested_team = get_object_or_404(Team, pk=team_pk)
for member in requested_team.teammembership_set.all().order_by('-leader'):
if member.user.pk == request.user.pk and member.leader:
formaccept = TeamSettings_acceptForm(request.POST)
accepteduserid = formaccept.data['user']
teamapplications = TeamApplication.objects.all().filter(from_user=accepteduserid).count()
if teamapplications > 1:
messages.success(request, "Error")
return redirect('teamsettings_applications', team_pk=team_pk)
else:
if formaccept.is_valid():
teamapplications = TeamApplication.objects.all().filter(from_user=accepteduserid)
teamapplications.update(accepted=True)
formaccept.team = requested_team.pk
formaccept.save()
messages.success(request, "User has now been added to your team!")
return redirect('teamsettings_applications', team_pk=team_pk)
そのデータを新しい行を作成し、他人を更新する必要があります。
私はジャンゴからの復帰に入るすべてはあなたがまだモデルのインスタンスにモデルフォームを処理していない
staff_teammembership.team_id may not be NULL