Как установить для m2m-поля разные наборы запросов для каждого встроенного объекта? - PullRequest
0 голосов
/ 21 ноября 2011

Итак, у меня есть модель, которая показана в виде строки.Эта модель имеет ManyToManyField.

Представьте, что есть несколько встроенных объектов, которые уже созданы.

Проблема состоит в том, как показать различные наборы запросов доступных объектов в моем m2m-поле на основеоригинальный inline-объект.

Еще раз :) Я имею в виду, что в каждом inline-объекте должно быть m2m-поле с разными доступными вариантами.Варианты, конечно, будут включать все, что на самом деле установлено для этого inline-объекта + они должны включать только варианты, которых в данный момент нет нигде.

Спасибо.

1 Ответ

1 голос
/ 22 ноября 2011

Вопрос написан очень плохо, поэтому трудно быть уверенным, что именно вы ищете, но я думаю, вы хотите ограничить набор запросов для ManyToManyField элементами, которые не назначены ни для чего еще? Если это правильно:

( Вы также не опубликовали пример модели, поэтому я сделаю пример для иллюстрации )

class SomeModel(models.Model):
    my_m2m_field = models.ManyToManyField(OtherModel)

И вот код для ограничения поля на основе этого:

class SomeModelInlineAdminForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(MyInlineAdminForm, self).__init__(*args, **kwargs)

        self.fields['my_m2m_field'].queryset = OtherModel.objects.filter(somemodel__isnull=True)

class SomeModelInlineAdmin(admin.TabularInline):
    model = SomeModel
    form = SomeModelInlineAdminForm
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...