У меня есть следующие модели:
class TourItem(models.Model):
Tour=models.ForeignKey(Tour)
TourItemType=models.ForeignKey(TourItemType)
Transfer=models.ForeignKey(Transfer)
Accommodate=models.ForeignKey(Accommodate)
Visit=models.ForeignKey(Visit)
и:
class Tour(models.Model):
Lang_Choices=(
('fa',ugettext_lazy('Persian')),
('en',ugettext_lazy('English')),
('fr',ugettext_lazy('French')),
)
Lang=models.CharField(max_length=1,choices=Lang_Choices,editable=False)
Name=models.CharField(max_length=100)
Description=models.TextField()
ActionDate=models.DateTimeField(auto_now=True,editable=False)
, и этот inlineformset:
TourItemFormSet=inlineformset_factory(Tour,TourItem,can_delete=True,extra=4)
Приспособьте, TourItemType, Модели передачи и посещения имеютВ поле с именем Lang, когда я делаю набор форм, у меня есть 4 комбинированных списка для этих моделей в каждой форме, теперь я хочу отфильтровать эти комбинированные списки с помощью request.LANGUAGE_CODE
. Я много искал и получил следующий код:
def get_field_qs(field, **kwargs):
if field.name == 'TourItemType':
field.queryset = TourItemType.objects.filter(Lang__iexact=request.LANGUAGE_CODE)
return field
TourItemFormSet=inlineformset_factory(Tour,TourItem,formfield_callback=get_field_qs,can_delete=True,extra=4)
но теперь в нем нет поля, как я могу справиться с этим?
заранее спасибо