Когда я работаю над формойА, как я могу получить значение поля из моделиВ после выбора поля Many2Many из моделиВ на Django

У меня есть modelA, который содержит некоторые поля, одно из этих полей имеет тип "ManyToManyField" (вызовите другой modelB, который имеет 3 fields, один из них определен как "sigma"), история, что в formA я хочу, когда я select option из ManyToManyField (модельВ), я получаю значение sigma of this ManyToManyField выбранное.

введите описание изображения здесь

---> Я пытался сделать это, но всегда получаю последнее значение сигмы (получаю сигму из последнего примера, добавленного на странице администратора моделиВ), введенное на странице администратора, а не то значение сигмы, которое соответствует полю many2many, выбранному пользователем.

**PS:**данные моделиВ я добавил, чтобы они отображались на странице администратора, когда я работаю с формойА на моем локалхосте.

Вот код в models.py: код моделиА:

class ModelA(models.Model): 
    description = models.CharField(verbose_name=" Description ", max_length=60)
    modelelement = models.CharField(verbose_name=" Mode Element ", max_length=60)
    element = models.ManyToManyField(ModelB)

код ModelB в models.py:

class ModelB(models.Model): 
    designation = models.CharField(verbose_name="designation", max_length=60)
    resistance = models.CharField(verbose_name='resistance W', max_length=50)
    sigma = models.FloatField(verbose_name='Sigma', max_length=50)
    def __str__(self):
        return  self.designation  + " " + self.resistance

in forms.py :

class ModuleForm(ModelForm):
    class Meta:
        model = ModelA
        fields = '__all__'

Вот код функции в views.py:

def performance(request):
    resultat = float(0)
    if request.method == 'GET':
        form = ModuleForm()
    else:
        form = ModuleForm(request.POST)
        if form.is_valid():
            element_selected = ModelB.objects.last()
            field_name = 'sigma'
            obj_sigma = element_selected.__class__.objects.last()
            field_obj_sigma = element_selected.__class__._meta.get_field(field_name)
            field_value_sigma = field_obj_sigma.value_from_object(obj_sigma)  
            float_sigma = float(field_value_sigma)
            resultat = 1.5 * float_sigma
    return render(request, 'performance.html', {'form': form, 'resultat': resultat})

когда я работаю над формойА, Как я могу получить значение поля из моделиВ после выбора Many2Manyfield моделиВ на Django! Возможно ли это сделать!

Заранее спасибо.

Вернуться на верх