Проблема с модельными отношениями и формами - PullRequest
0 голосов
/ 01 мая 2020

Я строю проект Warhammer, в котором пользователь:

1. Создайте список

2. Выберите солдата, которого он хочет добавить в список, и оружие, прикрепленное к солдату

Я изо всех сил пытаюсь понять, как перечислить оружие и количество, которое он может выбрать.

Я пытаюсь "скопировать" этот сайт: https://imgur.com/LitpaLa
Это на французском но я надеюсь, что вы поняли

Моя страница: https://imgur.com/o20ZesU

Мои модели:

class List(models.Model):
    faction = models.ForeignKey(Faction, on_delete=models.CASCADE)    
    title = models.CharField(max_length=30)

class Weapon(models.Model):
    name = models.CharField(max_length=30)     
    points = models.IntegerField()
    type_of_weapon = models.CharField(max_length=30,choices=TYPE_OF_WEAPON)

class Soldier(models.Model):
    title = models.CharField(max_length=30)
    weapons =  models.ManyToManyField(Weapon)

class SoldierToList(models.Model):
    soldier = models.ForeignKey(Soldier, on_delete=models.CASCADE,)
    list = models.ForeignKey(List, on_delete=models.CASCADE,)
    amount_of_units = models.IntegerField(default=1)

И форму, которую я использую для добавления блок в список:

class SoldierToListForm(forms.ModelForm):
    def init(self, *args, **kwargs):
        self.faction_id = kwargs.pop('faction_id')
        super(SoldierToListForm, self).init(*args, **kwargs)
        self.fields['soldier'].queryset = Soldier.objects.filter(factions=self.faction_id)

    class Meta:         
        model = SoldierToList
        fields = ('soldier','amount_of_units', )

Спасибо за помощь, ребята

...