Arti-Jack
@Arti-Jack

Почему не производится роутинг и регистрация ViewSet?

Имею класс-модель:

models.py
from __future__ import unicode_literals

from django.db import models

# Модель 
class Message(models.Model):
	msg_date = models.DateTimeField(auto_now_add=True)
	text = models.TextField()
	readed = models.BooleanField()


Сериалайзер
Его не было в проекте, я создавал отдельный файл.
serializers.py

from rest_framework import serializers
from .models import Message

class MessageSerializer(serializers.ModelSerializer):
	class Meta:
		model = Message
		fields = ('id', 'title', 'body', 'created_at')


Вьюшка.
view.py

from rest_framework import viewsets
from .models import Message
from .serializers import MessageSerializer

class MessageViewSet(viewsets.ModelViewSet):
	aueryset = Message.objects.all().order_by('-created_at')
	serializer_class = MessageSerializer


urls.py, которая находится в директории webapp

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^api/v1/', include('webapp.urls')),
    url(r'^admin/', admin.site.urls),
]


и urls.py которая находится в другой папке

from rest_framework import routers
from .views import MessageViewSet

# Создаем router и регистрируем наш ViewSet
router = routers.DefaultRouter()
router.register(r'message', MessageViewSet)

# URLs настраиваются автоматически роутером
urlpatterns = router.urls


У меня при попытки запуска сервера выдаёт такой лог:

router.register(r'message', MessageViewSet)
  File "/home/username/.local/lib/python3.5/site-packages/rest_framework/routers.py", line 82, in register
    base_name = self.get_default_base_name(viewset)
  File "/home/username/.local/lib/python3.5/site-packages/rest_framework/routers.py", line 161, in get_default_base_name
    assert queryset is not None, '`base_name` argument not specified, and could ' \
AssertionError: `base_name` argument not specified, and could not automatically determine the name from the viewset, as it does not have a `.queryset` attribute.


Не понимаю, что я делаю не так? Почему у меня не выходит сделать роутинг и зарегистрировать оное?
  • Вопрос задан
  • 362 просмотра
Решения вопроса 1
crazyzubr
@crazyzubr
Python backend-developer
Здесь опечатка
aueryset = Message.objects.all().order_by('-created_at')


Не aueryset¸ а queryset
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы