Аргумент int () должен быть строкой, байтовоподобным объектом или числом, а не «builtin_function_or_method» при вызове моего метода get - PullRequest
0 голосов
/ 28 сентября 2019

При вызове моего метода get для URL-адреса на Почтальоне я получаю:

TypeError: int() argument must be a string,
  a bytes-like object or a number, not 'builtin_function_or_method'

Код:

 def get_payment_scheduler(self, id):
     userAccount = AccountManager.objects.get(id = id) 
     payment_scheduler = PaymentScheduler.objects.get(userAccount=userAccount)
     if payment_scheduler.exists():
        return payment_scheduler[0]
     return None

У AccountManager и PaymentSchedule есть поле «один к одному»

Ожидается что-то вроде этого:

{
    "id": 12,
    "purchaserId": null,
    "subscriptionDate": "2019-09-27",
    "validityDate": null,
    "offer": "Free offer",
    "priceTTC": "12.00",
    "tva": "0.00",
    "priceHT": "0.00",
    "hasSubscribed": true,
    "reader": "readerId"
}

1 Ответ

3 голосов
/ 28 сентября 2019

Добро пожаловать в stackoverflow.Я думаю, это потому, что id - это функция python, и вы, возможно, забыли дать аргумент своему URL-вызову с почтальоном.Если вы откроете консоль Python, вы увидите объявление id:

>>>id
<built-in function id>

. Чтобы получить лучшее сообщение об ошибке, вы должны использовать другое имя переменной.

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