Django-rest-frameworkネストされたURLとdrf-nested-routers

アルテム・フェドソフ

drf-nested-routersパッケージを使用してネストされたAPIを構築しています。

ただし/domains/1/nameservers/、ドメイン#1に関連するネームサーバーだけでなく、所有しているすべてのネームサーバーを取得できます。

問題は、デフォルトのチュートリアルNameServerViewSet実装を使用していることだと思います

class NameserverViewSet(viewsets.ModelViewSet):
    queryset = Nameserver.objects.all()
    serializer_class = NameserverSerializer

正しい方法でコーディングするのを手伝ってください。

以下は、drf-nested-routersgithubページの例です。

drf-nested-routersは、以下のURLパターンを生成するネストされたルーターを提供します

\ domain \ <-ドメインリスト\ domain {pk} \ <-{pk]からの1つのドメイン

\ domain {domain_pk} \ nameservers \ <-からのドメインのネームサーバー

{domain_pk} \ domain {domain_pk} \ nameservers \ {pk} \ <-{pk}の特定のネームサーバー、{domain_pk}のドメイン

次に例を示します。

# urls.py
from rest_framework_nested import routers
from views import DomainViewSet, NameserverViewSet
(...)

router = routers.SimpleRouter()
router.register(r'domains', DomainViewSet)

domains_router = routers.NestedSimpleRouter(router, r'domains', lookup='domain')
domains_router.register(r'nameservers', NameserverViewSet)

urlpatterns = patterns('',
    url(r'^', include(router.urls)),
    url(r'^', include(domains_router.urls)),
)
アルテム・フェドソフ

解決策、作者のアランから来ました

ViewSetの実装方法は次のとおりです。

class NameserverViewSet(viewsets.ViewSet):
    queryset = Nameserver.objects.all()

    def list(self, request, domain_pk=None):
        queryset = self.queryset.filter(domain=domain_pk)
        serializer = NameserverSerializer(queryset, many=True)
        return Response(serializer.data)

    def retrieve(self, request, pk=None, domain_pk=None):
        queryset = self.queryset.get(pk=pk, domain=domain_pk)
        serializer = NameserverSerializer(queryset)
        return Response(serializer.data)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Django - reverse nested url with drf-nested-routers

分類Dev

Django-drf-nested-routersを使用してネストされたURLを逆にする

分類Dev

ネストされたHyperlinkedIdentityFieldsでのdrf-nested-routersの使用

分類Dev

Django rest framework represent flatten nested object

分類Dev

Django REST Framework nested serializer won't update

分類Dev

Using nested objects with Django Rest Framework and unit tests

分類Dev

Django REST Framework: nested serializer not properly validating data

分類Dev

Stuck with nested serializer using Django Rest Framework and default user

分類Dev

django Restフレームワーク:カスタムパスを含むrouters.DefaultRouter()URL

分類Dev

Django-Rest-Framework。ネストされたオブジェクトの更新

分類Dev

Django Rest-Frameworkネストされたシリアライザーの順序

分類Dev

Django Rest Framework 3.0:ネストされた多対1の関係の保存

分類Dev

How to ensure that there is at least one instance of my nested serializer in Django Rest Framework for creation?

分類Dev

How to filter nested data by property of parent object, using Django Rest Framework viewset

分類Dev

Django Rest Framework、ネストされたシリアル化されたデータを更新

分類Dev

Django Rest Framework ImageField

分類Dev

drf-nested-routersを使用して無限深度のネストの例をシリアル化するにはどうすればよいですか?

分類Dev

drf-nested-routersを使用して無限深度のネストの例をシリアル化するにはどうすればよいですか?

分類Dev

Django Rest FrameworkとJSONField

分類Dev

Django Rest Framework:ネストされた構造から値の一意のリストを取得します

分類Dev

Django Rest Framework:ネストされた構造から値の一意のリストを取得します

分類Dev

ネストされたシリアライザでのdjango-rest-framework 3.0の作成または更新

分類Dev

Django-Rest-Frameworkを使用したネストされたシリアライザー

分類Dev

Django Rest Frameworkテストが失敗しました:URLキーワード引数で呼び出されると予想されるビュー

分類Dev

ネストされた関係シリアライザのDjango Rest FrameworkモデルIDフィールド

分類Dev

Django Rest Frameworkのネストされたシリアライザーのユニークな検証

分類Dev

Django Rest Framework書き込み可能なネストされたシリアライザー

分類Dev

Django Rest Framework書き込み可能なネストされたシリアライザー

分類Dev

django-rest-frameworkの書き込み可能なネストされたシリアライザー?

Related 関連記事

  1. 1

    Django - reverse nested url with drf-nested-routers

  2. 2

    Django-drf-nested-routersを使用してネストされたURLを逆にする

  3. 3

    ネストされたHyperlinkedIdentityFieldsでのdrf-nested-routersの使用

  4. 4

    Django rest framework represent flatten nested object

  5. 5

    Django REST Framework nested serializer won't update

  6. 6

    Using nested objects with Django Rest Framework and unit tests

  7. 7

    Django REST Framework: nested serializer not properly validating data

  8. 8

    Stuck with nested serializer using Django Rest Framework and default user

  9. 9

    django Restフレームワーク:カスタムパスを含むrouters.DefaultRouter()URL

  10. 10

    Django-Rest-Framework。ネストされたオブジェクトの更新

  11. 11

    Django Rest-Frameworkネストされたシリアライザーの順序

  12. 12

    Django Rest Framework 3.0:ネストされた多対1の関係の保存

  13. 13

    How to ensure that there is at least one instance of my nested serializer in Django Rest Framework for creation?

  14. 14

    How to filter nested data by property of parent object, using Django Rest Framework viewset

  15. 15

    Django Rest Framework、ネストされたシリアル化されたデータを更新

  16. 16

    Django Rest Framework ImageField

  17. 17

    drf-nested-routersを使用して無限深度のネストの例をシリアル化するにはどうすればよいですか?

  18. 18

    drf-nested-routersを使用して無限深度のネストの例をシリアル化するにはどうすればよいですか?

  19. 19

    Django Rest FrameworkとJSONField

  20. 20

    Django Rest Framework:ネストされた構造から値の一意のリストを取得します

  21. 21

    Django Rest Framework:ネストされた構造から値の一意のリストを取得します

  22. 22

    ネストされたシリアライザでのdjango-rest-framework 3.0の作成または更新

  23. 23

    Django-Rest-Frameworkを使用したネストされたシリアライザー

  24. 24

    Django Rest Frameworkテストが失敗しました:URLキーワード引数で呼び出されると予想されるビュー

  25. 25

    ネストされた関係シリアライザのDjango Rest FrameworkモデルIDフィールド

  26. 26

    Django Rest Frameworkのネストされたシリアライザーのユニークな検証

  27. 27

    Django Rest Framework書き込み可能なネストされたシリアライザー

  28. 28

    Django Rest Framework書き込み可能なネストされたシリアライザー

  29. 29

    django-rest-frameworkの書き込み可能なネストされたシリアライザー?

ホットタグ

アーカイブ