Как передать набор запросов для каждого отдельного поля Admin Inlines

Притворитесь, что в администраторе Django есть 4 встроенных формы, каждая с парой вариантов выбора полей: «Атрибуты» и «Параметры значения». У нас есть первая пара, которая инициализирует одно поле со значением, например, цвет и другое поле, у вас должен быть запрос, установленный для выбора.

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

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

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' .. }, { .. }]

Что я делаю, так это инициализирую каждый атрибут значением, например, Color, и передаю набор запросов в value_option с соответствующими значениями, белым, синим и черным. Я пытался сделать это два дня назад, и я ничего не добился, если решение не находится в формах или в любой функции администратора.


person Colpaisa    schedule 26.05.2015    source источник