Когда я работаю над формойА, как я могу получить значение поля из моделиВ после выбора поля 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! Возможно ли это сделать!
Заранее спасибо.