Me falta algo, pero no sé qué es. Cuando voy al Visor de DRF, las alertas no aparecen en la lista de direcciones URL posibles. todas las demás URL de descanso lo hacen.
aquí está mi serializer.py:
class OptionSerializer(serializers.ModelSerializer): class Meta: model = Options fields = '__all__' validators = [ UniqueTogetherValidator( queryset=Options.objects.all(), fields=('Member', 'skey', 'Time_Period') ) ]api.py:
class OptionViewSet(generics.ListCreateAPIView): serializer_class = OptionSerializer def get_queryset(self): """ This view should return a list of all the options for the currently authenticated user. """ user = self.request.user return Options.objects.filter(Member=user)y mi urls.py:
router = routers.DefaultRouter() router.register(r'users', api.UserViewSet) router.register(r'groups', api.GroupViewSet) router.register(r'currency', api.BitCoinViewSet) router.register(r'latest_prices', api.CurrencyLatestViewSet) router.register(r'options', api.OptionViewSet.as_view, 'alerts') urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^api/', include(router.urls)), url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')) ] ¿Por qué no aparece la URL de alert ? Gracias.
Los enrutadores solo funcionan con ViewSet s, pero su OptionViewSet es un APIView común.
Debería poder solucionarlo simplemente usando los mixins y la clase base apropiados:
class OptionViewSet(mixins.CreateModelMixin, mixins.ListModelMixin, viewsets.GenericViewSet): serializer_class = OptionSerializer def get_queryset(self): """ This view should return a list of all the options for the currently authenticated user. """ user = self.request.user return Options.objects.filter(Member=user)