Ошибка 403 при использовании Axios для отправки сообщений в Django

Я использую сервер Django, подключенный к фронт-энду React Native.

Сервер отлично работает в моем браузере, но я получаю ошибку при попытке опубликовать сообщение в моем приложении из Axios. Я получаю следующую ошибку:

[26/Aug/2021 13:26:53] "POST /api/ticket/ HTTP/1.1" 403 58
Forbidden: /api/ticket/

Вот моя axios функция:

const getTicket = async function () {
  try {
    let res = await axios.post("http://127.0.0.1:8000/api/ticket/", {
      userID: 5,
      eventID: 1,
    });
    return res;
  } catch (err) {
    console.error(err);
    return err;
  }
};

Вот мой models.py для класса Ticket:

class Ticket(models.Model):
    ticketID = models.AutoField(primary_key=True)
    userID = models.ForeignKey(
        settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
    eventID = models.ForeignKey(
        Event, related_name='tickets', on_delete=models.CASCADE)
    bookedAt = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return str(self.ticketID)

Вот мой TicketSerializer в serializers.py:

class TicketSerializer(serializers.ModelSerializer):

    class Meta:
        model = Ticket
        fields = "__all__"

Мой views.py

class TicketViewSet(viewsets.ModelViewSet):
    queryset = Ticket.objects.all()
    serializer_class = TicketSerializer
    filter_backends = [DjangoFilterBackend]


class MyTicketViewSet(viewsets.ModelViewSet):
    queryset = Ticket.objects.all()
    serializer_class = TicketSerializer

    def get_queryset(self):
        user = self.request.user
        return Ticket.objects.filter(userID=user)

Мой urls.py

router = DefaultRouter()
router.register('ticket', TicketViewSet)
router.register('myticket', MyTicketViewSet)

urlpatterns = [
    path('', include(router.urls)),
]

Меня смущает то, что более сложные вызовы axios работают, например, этот ниже, который правильно определяет userid только из вызова axios:

const getMyTickets = async function () {
  try {
    let res = await axios.get("http://127.0.0.1:8000/api/myticket/");
    return res.data;
  } catch (err) {
    console.error(err);
    return err;
  }
};

Что я делаю неправильно? Любая помощь будет спасителем жизни!

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