我的模特有两个班
class Icd(models.Model):
code = models.CharField(primary_key=True, max_length=6)
class Icd10(models.Model):
officialorder = models.IntegerField(blank=True, null=True)
对于上述模型,还有两个视图集
class IcdViewSet(viewsets.ModelViewSet):
queryset = Icd.objects.all()[:10]
serializer_class = IcdSerializer
class Icd10ViewSet(viewsets.ModelViewSet):
queryset = Icd10.objects.all()[:10]
serializer_class = Icd10Serializer
下面是我的序列化程序
class IcdSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Icd
fields = ['code']
class Icd10Serializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Icd10
fields = ['officialorder']
和我的应用程序/url.py
router = routers.DefaultRouter()
router.register(r'', views.IcdViewSet)
router.register(r'icd10', views.Icd10ViewSet)
urlpatterns = [
path('', include(router.urls))
]
main url.py
urlpatterns = [
path('icd/', include('app.urls')),
]
当我调用localhost:8000/icd时,我得到了正确的响应。当我调用localhost:8000/icd/icd10时,我得到了下面的错误
AssertionError at /icd/icd10/
Cannot filter a query once a slice has been taken.
Request Method: GET
Request URL: http://localhost:8000/icd/icd10/
Django Version: 3.1.4
Exception Type: AssertionError
Exception Value:
Cannot filter a query once a slice has been taken.
从Icd10模型检索记录需要更改哪些内容
看起来您对url做了一些错误的操作,因为它发生了冲突 你可以这样做
这可能会帮助您:
还没有人回答你问题中的“为什么不这样?”。解释见https://docs.djangoproject.com/en/1.8/ref/models/querysets/:
相关问题 更多 >
编程相关推荐