Как создать имя класса в django formset динамически на основе значения foreignkey?

Как я могу передать значение из поля slug из модели Product в мой набор форм и создать динамическое имя класса, которое будет содержать это значение?

Мне удалось создать фиксированное имя класса form-control в каждой форме, но я не знаю, как сделать динамический класс, чтобы он создавал slug, который является полем в модели Product.

Когда я вставляю "class": self.related_product, это дает мне ошибку 'CalculatorForm' object has no attribute 'related_product'. Мой вопрос в том, что я должен вставить сюда, чтобы получить значение slug?

forms.py

class CalculatorForm(forms.ModelForm):
    author = forms.CharField(widget = forms.HiddenInput(), required = False)
    created = forms.DateTimeField(widget = forms.HiddenInput(), required = False)
    number_of_units = forms.IntegerField(min_value=0)
    total_price = forms.IntegerField(widget = forms.HiddenInput(), required = False)
    
    class Meta: 
        model = CERequest
        fields = ('author', 'created', 'related_product', 'related_component', 'number_of_units')

    def __init__(self, *args, **kwargs): 
        super(CalculatorForm, self).__init__(*args, **kwargs)   
        for field in self.fields:
            new_data = {
                "class": 'form-control' #how to pass slug value here?
            }
            self.fields[str(field)].widget.attrs.update(
                new_data
            )
RequestFormset = formset_factory(CalculatorForm, extra=0, can_delete=False)

models.py

class CERequest(models.Model):
    author = models.CharField(max_length=255, blank=True, null=True)
    related_component = models.ForeignKey(CostCalculator, on_delete=models.CASCADE)
    number_of_units = models.IntegerField(default=0)
    related_product = models.ForeignKey(Product, on_delete=models.CASCADE)

class Product(models.Model):
    ...
    slug = models.SlugField(max_length=250)
Вернуться на верх