장고에서 모델로 변환 한 큰 데이터 테이블 (~ 30Mb)이 있습니다. 이제 REST API를 통해 해당 데이터에 액세스하려고합니다.Django rest framework : 모델의 각 필드에 대해 자동으로 URL을 생성합니다.
장고 REST 프레임 워크를 성공적으로 설치했지만 모델의 각 필드에 대한 URL을 자동으로 만드는 방법을 찾고 있습니다. 내 모델에는 약 100 개의 필드가 있으며 각 필드에는 약 100,000 개의 항목이 있습니다.
이urls.py
class SampleSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Sample
fields = (**100 fields**)
class SampleViewSet(viewsets.ModelViewSet):
queryset = Sample.objects.all()
serializer_class = SampleSerializer
router = routers.DefaultRouter()
router.register(r'sample', SampleViewSet)
그러나 물론 브라우저가 모두로드 할 수 없습니다 : 나는이 같은 장고 REST 프레임 워크를 사용하여 전체 모델에 액세스 할 수 있습니다 내 모델이 샘플라는 이름의 경우
,
models.py
class Sample(models.Model):
index = models.IntegerField(primary_key=True)
year = models.IntegerField(blank=True, null=True)
name = models.TextField(blank=True, null=True)
...97 more fields...
그 데이터를 적절한 시간 내에 수동으로 각 필드마다 다른 클래스와 URL을 만들 수 있지만 더 좋은 방법이 있어야합니다 ... my_site.com/sample/year (예를 들어)로 이동하여 모든 연도를 나열 할 수 있기를 원합니다. JSON 형식 또는 my_site.com/sample/name 형식으로 모든 이름 등을 나열하십시오. 감사합니다. 감사합니다. 감사합니다.
이 응답 해 주셔서 감사합니다. 귀하의 코드에 따라 URL 매핑이 어떻게 작동하는지 조금 혼란 스럽습니다. 이 코드를 변경해야합니까? router = routers.DefaultRouter() router.register (r'sample ', SampleViewSet)' –
라우터 레지스트리를 변경할 필요가 없습니다. URL은 list_route 데코레이터로 장식 된 메소드 이름에서 파생됩니다. –