редактировать множество отношений - PullRequest
0 голосов
/ 20 апреля 2020

В моем приложении django есть две модели, связанные многими отношениями. Я создал функцию редактирования, но она не работает или, если быть точным, она не может отобразить набор форм

Models.py

class Player(models.Model):
    pname = models.CharField(max_length=50)
    hscore = models.IntegerField()
    age = models.IntegerField()
    def __str__(self):
       return self.pname

class Team(models.Model):
    tname = models.CharField(max_length=100)
    player= models.ManyToManyField(Player)
    def __str__(self):
        return self.tname

Forms.py

class PlayerForm(forms.ModelForm):

    class Meta:
        model = Player
        fields = '__all__'

PlayerFormset= formset_factory(PlayerForm)

class TeamForm(forms.ModelForm):

   player= PlayerFormset()
   class Meta:
       model = Team
       fields = '__all__'
       exclude = ["player"]

Views.py

def updateTeam(request,pk):

    team = Team.objects.get(id=pk)
    form = TeamForm(instance=team)

    if request.method == "POST":
        form = TeamForm(request.POST, instance=team)
        if form.is_valid():
            form.save()

    context = {'form': form}
    return render(request, 'packsapp/employee/new.html', context)

Приведенный выше код отображает название команды в форме, но не связанных игроков.

...