Django POST http://127.0.0.1:8000/create_member/ 500 (Внутренняя ошибка сервера)

Я пытаюсь добавить имена пользователей в мое приложение для видеочата, и возникла эта ошибка. Я пытаюсь получить create_member, но возникает эта ошибка. Я пытался решить проблему много раз, но безуспешно. Пожалуйста, проверьте это. Uncaught (in promise) SyntaxError: Unexpected token. Эта ошибка возникла в консоли, и я не могу получить мои видео и аудио дорожки.

Итак, вот мой файл views.py:

@csrf_exempt
def createMember(request):
    data = json.loads(request.body)
    member, created = RoomMember.objects.get_or_create(
        name=data['name'],
        uid=data['UID'],
        room_name=data['room_name']
    )

    return JsonResponse({'name':data['name']}, safe=False)

вот мой файл script.js

let createMember = async () => {
    let response = await fetch('/create_member/', {
        method:'POST',
        headers: {
            'Content-Type':'application/json'
        },
        body:JSON.stringify({'name':NAME, 'room_name':CHANNEL, 'UID':UID})
    })
    let member = await response.json()
    return member
}

А вот файл models.py

class RoomMember(models.Model):
    name = models.CharField(max_length=200)
    uid = models.CharField(max_length=1000)
    room_name = models.CharField(max_length=200)
    insession = models.BooleanField(default=True)

    def __str__(self):
        return self.name

В документации django в разделе migrations говорится:

Миграции - это способ Django распространить изменения, которые вы вносите в свои модели (добавление поля, удаление модели и т.д.) в схему вашей базы данных.

Ошибка говорит

django.db.utils.OperationalError: no such column: videoApp_roommember.name

Это означает, что сделанные вами изменения, а именно добавление имени в модель, не были перенесены в таблицу базы данных, поэтому всякий раз, когда вы делаете запрос или пытаетесь создать члена комнаты, будет возникать вышеупомянутая ошибка из-за того, что не найден столбец name в БД.

Итак, вам нужно:

  1. Запустите python manage.py makemigrations, чтобы создать файл миграций для внесенных изменений.
  2. Запустите python manage.py migrate, чтобы внести обновления в базу данных
  3. .
Вернуться на верх