Как получить доступ к полям внутри значений из наборов запросов фильтрации в django? - PullRequest
0 голосов
/ 08 мая 2020

мой код выглядит так:

# модель пользователя

class User(models.Model):
     phonenum = PhoneNumberField()

# биомодель

class Bio(models.Model):
    user_num = models.OneToOneField(User,on_delete=models.CASCADE,related_name='user_num_bio')

# view.py

result = Bio.objects.filter(user_num__phonenum__national_number__endswith=7896)

Я хочу получить доступ к national_number, который является значением PhoneNumberField, но последняя строка дает ошибку:

django.core.exceptions.FieldError: Unsupported lookup '_national_number_endswith' for PhoneNumberField or join on the field not permitted.

INFO :

Значения PhoneNumberField:

PhoneNumber(country_code=98, national_number=1234567896, extension=None, italian_leading_zero=None, number_of_leading_zeros=None, country_code_source=20, preferred_domestic_carrier_code=None)

package_add: PhoneNumberField

1 Ответ

0 голосов
/ 08 мая 2020

Может быть, вам нужно повторить или найти другой способ сделать:

result = Bio.objects.filter(user_num__phonenum__national_number__endswith=7896)

Как я вижу, поле django -phonenumber-field - это интерфейс для python -phonenumbers https://github.com/daviddrysdale/python-phonenumbers «национальный_номер» является частью python -фоновых номеров и недоступен с django -фонового номера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...