Форматирование поля модели ManyToMany в django-autocomplete-light
models.py
class InvestmentGroup(models.Model):
name = models.CharField(max_length=200, blank=True, null=True)
persons = models.ManyToManyField('Person', blank=True, related_name='investment_groups')
lead_investor = models.ForeignKey(
'Person', blank=True, null=True, on_delete=models.CASCADE, related_name='lead_investment_groups'
)
forms.py
class InvestmentGroupModelForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(InvestmentGroupModelForm, self).__init__(*args, **kwargs)
class Meta:
model = models.InvestmentGroup
fields = '__all__'
widgets = {
"lead_investor": autocomplete.ModelSelect2(
url="lead-investor-autocomplete",
forward=["name"]
)
}
AutoCompleteview
class LeadInvestorAutoComplete(autocomplete.Select2QuerySetView):
def get_queryset(self):
# Don't forget to filter out results depending on the visitor !
if not self.request.user.is_authenticated:
return models.Person.objects.none()
qs = models.Person.objects.all()
persons = self.forwarded.get('persons', None)
print(persons) # Output: []
if persons:
qs = qs.filter(person__in=persons)
return qs
Я получаю пустые значения, если я пересылаю многие ко многим полям таким образом, но это работает для других полей, таких как имя или внешние ключи.
Можно ли переслать поле ManyToMany?