2017-12-06 4 views
0

사용자가 팀의 일부 설정을 업데이트 할 수 있지만 제대로 작동하지 않는 것 같습니다. 이름을 업데이트하고 사용자를 수락합니다.Django - 모델을 모델로 업데이트 할 수 없습니다. str 오류가 발생했습니다.

Views.py
@login_required 
def teamsettings_general(request, team_pk): 
    logged_in_user = get_object_or_404(User, pk=request.user.pk) 
    requested_team = get_object_or_404(Team, pk=team_pk) 
    if request.method == 'POST': 
     for member in requested_team.teammembership_set.all().order_by('-leader'): 
      if member.user.pk == request.user.pk and member.leader: 
       form = TeamSettings_GeneralForm(request.POST, instance=team_pk) 
       if form.is_valid(): 
        form.save() 
        messages.success(request, "The team has been updated!") 
        return redirect('teamsettings_general', 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: 
      feedback = FeedbackSupportForm() 
      form = TeamSettings_GeneralForm(instance=team_pk) 
      context = { 
       'requested_team': requested_team, 
       'feedback': feedback, 
       'form' : form, 
       'logged_in_user': logged_in_user, 
      } 
      return render(request, 'team/settings.html', context) 
      break 
     else: return redirect('team', team_pk) 

내 form.py는
class TeamSettings_GeneralForm(forms.ModelForm): 
    class Meta: 
     model = Team 
     fields = ('name', 'accepts_applications',) 

지금 난 그냥 adbanvce의 이름과 accepts_applications

'str' object has no attribute '_meta' 

    form = TeamSettings_GeneralForm(request.POST, instance=team_pk) 
    if form.is_valid(): 
     form.save() 
     messages.success(request, "The team has been updated!") 
     return redirect('teamsettings_general', team_pk=team_pk) 
logged_in_user = get_object_or_404(User, pk=request.user.pk) 
requested_team = get_object_or_404(Team, pk=team_pk) 
form = TeamSettings_GeneralForm(instance=team_pk) ... 
for member in requested_team.teammembership_set.all().order_by('-leader'): 
    if member.user.pk == request.user.pk and member.leader: 
     feedback = FeedbackSupportForm() 
     context = { 
      'requested_team': requested_team, 
      'feedback': feedback, 

감사를 업데이트 할

답변

1

너는 팀을 얻었다. 인스턴스를 만들었지 만 무시한 다음 양식에 PK를 전달했습니다. 다음과 같아야합니다.

form = TeamSettings_GeneralForm(instance=requested_team) 
관련 문제