Имею класс-модель:
models.pyfrom __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.pyfrom rest_framework import serializers
from .models import Message
class MessageSerializer(serializers.ModelSerializer):
class Meta:
model = Message
fields = ('id', 'title', 'body', 'created_at')
Вьюшка.
view.pyfrom 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.
Не понимаю, что я делаю не так? Почему у меня не выходит сделать роутинг и зарегистрировать оное?