Доброго времени суток.
У меня есть две модели(кроме остальных и упрощено):
class Range(AbstractRange):
site = models.ManyToManyField(Site)
class ConditionalOffer(AbstractConditionalOffer):
site = models.ForeignKey(Site, null=True)
range = models.ForeignKey(Range, null=True)
Еще у меня есть две формы для
ConditionalOffer
, на каждой из которых есть поле
ModelChoiceField
. На первой форме выбирается поле
Site
, а на второй
Range
. Нужно сделать так, что бы на второй форме можна было выбрать только те
Range
, в которых поле
Site
имеет значение поля
Site
первой формы.
Вот примеры форм:
class MetaDataForm(OscarMetaDataForm):
site = forms.ModelChoiceField(
queryset=Site.objects.all(),
widget=SITE_WIDGET,
initial=SITE_INITIAL)
class Meta:
model = ConditionalOffer
fields = ('site', 'name', 'description')
class BenefitForm(OscarBenefitForm):
range = forms.ModelChoiceField(
queryset=Range.objects.filter(site__id=settings.SITE_ID)
class Meta:
model = Benefit
fields = ('range', 'type', 'value', 'max_affected_items')
Тоесть мне нужно вместо
settings.SITE_ID
в строке
queryset=Range.objects.filter(site__id=settings.SITE_ID)
поставить ID выбраного сайта из первой формы.
Как мне это сделать? Буду очень благодарен за помощь.