Он показывает: Поле 'id' ожидало число, но получило ''.

Когда я отправляю, появляется эта ошибка.

views.py:

class userINFOupdate(View):
    def get(self,request):  
        userid = request.GET.get("user_up_id")
        username = request.GET.get('user_up_username')
        email = request.GET.get('user_up_email')
        phone = request.GET.get('user_up_phoneNumber') 
        address = request.GET.get('user_up_address')

        obj = AJAXCRUD.objects.get(id=userid)
        print(userid)

Шаблон:

<input type="text" hidden name="user_up_id" id="user_hid_id" class="user_hidden_id"> 

urls.py:

path('userINFOupdate/', views.userINFOupdate.as_view(), name="userINFOupdate")

Вы принимаете user_up_id как строку. Вы должны сначала преобразовать переменную в int в файле views.py.

userid = int(request.GET.get("user_up_id"))

Я исправил эту ошибку, сделав следующее:

  1. Удалили все файлы миграции, кроме 0001_initial.py
  2. Создали новую миграцию с помощью => python manage.py makemigrations
  3. Зафиксировали новую миграцию в базе данных => python manage.py migrate.

В моем случае ошибка возникала потому, что приложение запускало старую миграцию, которая и вызывала эту ошибку. Надеюсь, это сработает и для вас 🤗

Вернуться на верх