Django Rest Framework 在斜杠中包含 ManyToMany 属性和所有功能

问题描述

我正在使用 Django Rest Framework,这是我的代码: 模型.py

class Course(models.Model):
    name = models.CharField(max_length=200)

class Formation(models.Model):
    name = models.CharField(max_length=200)
    courses = models.ManyToManyField(Course,blank=True)

serializers.py

class CourseSerializer(serializers.ModelSerializer):
    class Meta:
        model = Course
        fields = '__all__'

class FormationSerializer(serializers.ModelSerializer):
    class Meta:
        model = Formation
        fields = '__all__'
    courses = CourseSerializer(many=True)

views.py

class FormationView(viewsets.ReadOnlyModelViewSet):
    queryset = Formation.objects.all()
    serializer_class = FormationSerializer

class CourseView(viewsets.ReadOnlyModelViewSet):
    queryset = Course.objects.all()
    serializer_class = CourseSerializer

urls.py

router = routers.DefaultRouter()
router.register('formations',views.FormationView)
router.register('courses',views.CourseView)

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

当我使用 http://localhost:8000/api/formations/{id} 时,它工作得很好,我可以从它的所有功能(如 PATCH)中受益,但我不能做的是 http:/ /localhost:8000/api/formations/{id}/courses,所以也没有 localhost:8000/api/formations/{id}/courses/{id} 也没有功能

我觉得解决方案不是那么远,或者很复杂 那么有什么解决办法呢?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)