Предположим, что у администратора Django четыре встроенных строки, каждый из которых имеет пару вариантов полей, «Атрибуты» и «Параметр значения». У нас есть первая пара, которая инициализирует поле со значением, например цветом и другим полем, у вас должен быть выбор для выбора.Как передать набор запросов для каждого отдельного поля Admin Inlines
Проверить изображения, пожалуйста
Как вы можете видеть, что нужно фильтровать каждую пару с их значениями по умолчанию, если цвет должен показывать только белый, черный и синий.
class ProductAttributeValueForm(forms.ModelForm):
attribute = forms.ModelChoiceField(label=_('Attribute'),
widget=forms.Select(attrs={'disabled': 'True'}),
queryset=ProductAttribute.objects.all(), required=False)
class ProductAttributeValueFormSet(BaseInlineFormSet):
def __init__(self, *args, **kwargs):
super(ProductAttributeValueFormSet, self).__init__(*args, **kwargs)
# This return initial [{'attribute' initial}, {..}, {..}]
self.initial = [{'attribute': a} for a in obj.category.attributes.all()]
# Now we need to make a queryset to each field of each form inline
self.queryset = [{'value_option' .. }, { .. }]
Что я делаю, это инициализировать каждый атрибут со значением, например, цвет и принял QuerySet к value_option с их соответствующими значениями, белого, синего и черного. Я попытался сделать это два дня назад, и я ничего не сделал, если решение находится на формах или в любой функции администратора