Фильтрация по вложенному полю чужих ключей с django -фильтрами - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть модель Customer, в которой в качестве поля внешнего ключа указан Пользователь. В Списке клиентов я хочу искать по имени Клиента (Клиент -> Пользователь -> Имя). ModelChoiceFilter предоставляет список всех пользовательских объектов в виде раскрывающегося списка. Я не могу понять, как я могу поставить его в поле поиска имен.

Основываясь на другом ответе stackoverflow , я попытался поместить его как ChoiceFilter с вызываемым в качестве выбора аргумент, но затем объект нумерации страниц начал давать ошибку. Может ли кто-нибудь помочь, пожалуйста.

Models.py

class User(AbstractUser):
    name = models.CharField(max_length=100)
    phone = PhoneNumberField(unique=True)
    email = models.EmailField(unique=True)


class Customer(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.PROTECT)

Filters.py

class CustomerFilter(django_filters.FilterSet):
    User = get_user_model()
    user = django_filters.ModelChoiceFilter(queryset=User.objects.all())

    class Meta:
        model = Customer
        fields = {
            'user':[],
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...