2016-06-26 1 views
0

По какой-то причине мой модуль сериализации не распознается, любые идеи, почему это так? Я установил rest_framework и включил его в свой файл settings.py в приложениях.Django rest framework Нет модуля с именем .serializers

По какой-то причине, хотя мой файл serializer.py показывает, что импорт rest_framework является «неразрешенным», не уверен, почему это так, или если это является причиной проблемы, но у меня было это до того, где мой редактор, по-видимому, иногда отмечает импорт как нерешенные, но все еще работающие.

Вот мой serializes.py

from rest_framework.authentication import SessionAuthentication, BasicAuthentication 
from rest_framework import routers, serializers, viewsets, permissions 
from .models import Part, Supplier, SupplierPart 


class PartSerializer(serializers.HyperlinkedModelSerializer): 
    class Meta: 
     model = Part 
     field = [ 
      'id', 
      'name', 
      'code', 
     ] 


class SupplierSerializer(serializers.HyperlinkedModelSerializer): 
    class Meta: 
     model = Supplier 
     field = [ 
      'id', 
      'name', 
     ] 


class SupplierPartSerializer(serializers.HyperlinkedModelSerializer): 
    part = PartSerializer() 
    supplier = SupplierSerializer() 

    class Meta: 
     model = SupplierPart 
     field = [ 
      'id', 
      'part', 
      'supplier', 
      'supplier_code', 
      'description', 
      'price', 
      'sale_price', 
      'quantity', 
      'photo', 
      'url', 
     ] 


class SupplierPartViewSet(viewsets.ModelViewSet): 
    queryset = SupplierPart.objects.all() 
    serializer_class = SupplierPartSerializer 

Вот мои URLs:

from django.conf import settings 
from django.conf.urls import include, url 
from django.contrib import admin 
from rest_framework import routers 

from SupplierPart.serializers import SupplierPartViewSet 


router = routers.DefaultRouter() 
router.register(r"SupplierPart", SupplierPartViewSet) 

urlpatterns = [ 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^search/', include('haystack.urls')), 
    url(r'^$', include('haystack.urls')), 
    url(r'^part/', include('products.urls')), 
    url(r'^api/', include(router.urls)), 
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')) 

] 

Я получаю эту ошибку, хотя, когда я пытаюсь идти на мой сайт enter image description here

ответ

0

о неурегулированный импорт: используете ли вы virtualenv? если да, убедитесь, что ваша среда IDE использует его как интерпретатор.

+0

Ад да Я использую виртуальную среду, как я могу проверить, что моя IDE использует ее в качестве интерпретатора? –

+0

Прежде всего, какую IDE вы используете? Если вы используете PyCharm, например, выполните следующие действия: https://www.jetbrains.com/help/pycharm/2016.1/configuring-python-interpreter-for-a-project.html –

+0

Спасибо, ребята, которые помогли разрешить импорт рамки для отдыха но у меня все еще проблема с моей основной проблемой. Сайт по-прежнему жалуется ни один модуль с именем –

0

Как я понимаю из вашего кода, SupplierPart - это модель. И вы пытаетесь импортировать сериализаторы из него в свой файл urls.py.
Когда вы должны импортировать его из приложения. Например. если ваш serializers.py находится в suppliers приложения (папка/пакет), то вы должны импортировать его, как это:
from suppliers.serializers import SomeSerializer

P.S.
Файл serializers.py должен содержать Сериализаторы, а не ViewSets

Смежные вопросы