タグ付けされた質問 「django-rest-framework」

RESTful Web APIを構築するための強力で柔軟なツールキット。Djangoは、迅速な開発とクリーンで実用的な設計を促進する高レベルのPython Webフレームワークです。経験豊富な開発者によって構築され、Web開発の煩わしさの多くを処理します。そのため、ホイールを再発明することなく、アプリの作成に集中できます。それは無料でオープンソースです。


15
Django Rest Frameworkファイルのアップロード
Django Rest FrameworkとAngularJsを使用してファイルをアップロードしています。私のビューファイルは次のようになります: class ProductList(APIView): authentication_classes = (authentication.TokenAuthentication,) def get(self,request): if request.user.is_authenticated(): userCompanyId = request.user.get_profile().companyId products = Product.objects.filter(company = userCompanyId) serializer = ProductSerializer(products,many=True) return Response(serializer.data) def post(self,request): serializer = ProductSerializer(data=request.DATA, files=request.FILES) if serializer.is_valid(): serializer.save() return Response(data=request.DATA) postメソッドの最後の行はすべてのデータを返すはずなので、いくつか質問があります。 何かがあるかどうかを確認する方法はrequest.FILES? ファイルフィールドをシリアル化する方法 パーサーをどのように使用すればよいですか?

10
Django Rest Framework-認証資格情報が提供されていません
Django Rest Frameworkを使用してAPIを開発しています。「注文」オブジェクトを一覧表示または作成しようとしていますが、コンソールにアクセスしようとすると次のエラーが表示されます。 {"detail": "Authentication credentials were not provided."} ビュー: from django.shortcuts import render from rest_framework import viewsets from django.contrib.auth.models import User from rest_framework.renderers import JSONRenderer, YAMLRenderer from rest_framework.response import Response from rest_framework.views import APIView from order.models import * from API.serializers import * from rest_framework.permissions import IsAuthenticated class OrderViewSet(viewsets.ModelViewSet): model …

2
モデルプロパティを使用したModelSerializer
私もシリアル化したいプロパティフィールドを含むモデルをシリアル化しようとしています。 models.py: class MyModel(models.Model): name = models.CharField(max_length=100) slug = models.AutoSlugField(populate_from='name') @property def ext_link(self): return "/".join([settings.EXT_BASE_URL, self.slug]) serializers.py: class MyModelSerializer(serializers.ModelSerializer): class Meta: model = MyModel fields = ('name', 'ext_link') 関連URLにアクセスしようとすると、ext_linkプロパティでシリアライザ例外(KeyError)が発生します。 ext_linkプロパティをシリアル化するにはどうすればよいですか?

3
Django REST Frameworkでフィールド名を変更する方法
SQLのエイリアスのようにDRFシリアライザのモデルフィールド名を変更しようとしています。別の方法を試しましたが、成功できません。 models.py class Park(models.Model): name = models.CharField(max_length=256) alternate_name = models.CharField(max_length=256, blank=True) objects = models.GeoManager() class Meta: db_table = u'p_park' def __unicode__(self): return '%s' % self.name def alias_alternate_name(self): return self.alternate_name serializers.py class ParkSerializer(serializers.ModelSerializer): location = serializers.Field(source='alias_alternate_name') #location = serializers.SerializerMethodField(source='alias_alternate_name') #alternate_name as location class Meta: model = Park fields = ('id', 'name', …

8
Django Rest Framework-ModelSerializerにカスタムフィールドを追加する方法
を作成しModelSerializer、モデルの一部ではないカスタムフィールドを追加したいと考えています。 ここにフィールドを追加するための説明を見つけ、次のことを試しました。 customField = CharField(source='my_field') このフィールドを追加してvalidate()関数を呼び出すと、このフィールドはattr辞書の一部ではなくなります。attr追加のフィールドを除く、指定されたすべてのモデルフィールドが含まれます。上書きされた検証でこのフィールドにアクセスできませんか? このフィールドを次のようにフィールドリストに追加すると、 class Meta: model = Account fields = ('myfield1', 'myfield2', 'customField') 次にcustomField、がモデルの一部ではないためにエラーが発生します。このシリアライザのためだけに追加したいので、何が正しいのでしょうか。 カスタムフィールドを追加する方法はありますか?

11
DjangoRESTフレームワークのネストされた自己参照オブジェクト
私は次のようなモデルを持っています: class Category(models.Model): parentCategory = models.ForeignKey('self', blank=True, null=True, related_name='subcategories') name = models.CharField(max_length=200) description = models.CharField(max_length=500) 私はシリアライザーですべてのカテゴリーのフラットなjson表現を得ることができました: class CategorySerializer(serializers.HyperlinkedModelSerializer): parentCategory = serializers.PrimaryKeyRelatedField() subcategories = serializers.ManyRelatedField() class Meta: model = Category fields = ('parentCategory', 'name', 'description', 'subcategories') 今私がやりたいのは、サブカテゴリリストにIDの代わりにサブカテゴリのインラインjson表現を持たせることです。django-rest-frameworkでそれをどのように行うのですか?ドキュメントで見つけようとしましたが、不完全なようです。

5
Django Rest Frameworkでネストされたシリアライザーをどのようにフィルタリングしますか?
Django Rest Frameworkで、シリアライザーが別のシリアライザーにネストされている場合、どのようにフィルタリングしますか? 私のフィルターはDRFビューセットに適用されますが、別のシリアライザーの内部からシリアライザーを呼び出すと、ネストされたシリアライザーのビューセットが呼び出されないため、ネストされた結果はフィルター処理されていないように見えます。 元のビューセットにフィルターを追加しようとしましたが、ネストされた結果が個別の事前にフェッチされたクエリとして呼び出されるため、ネストされた結果をフィルターに掛けていないようです。(ネストされたシリアライザーは逆ルックアップです。) ネストされたシリアライザー自体にget_queryset()オーバーライドを追加して(ビューセットから移動して)、そこにフィルターを追加することは可能ですか?私もそれを試しましたが、運がありませんでした。 これは私が試したものですが、呼ばれることさえないようです: class QuestionnaireSerializer(serializers.ModelSerializer): edition = EditionSerializer(read_only=True) company = serializers.StringRelatedField(read_only=True) class Meta: model = Questionnaire def get_queryset(self): query = super(QuestionnaireSerializer, self).get_queryset(instance) if not self.request.user.is_staff: query = query.filter(user=self.request.user, edition__hide=False) return query

7
多対多のフィールドをシリアル化するDjangoRESTフレームワーク
多対多のフィールドを何かのリストにシリアル化し、残りのフレームワークを介してそれらを返すにはどうすればよいですか?以下の例では、投稿に関連付けられているタグのリストと一緒に投稿を返そうとしています。 models.py class post(models.Model): tag = models.ManyToManyField(Tag) text = models.CharField(max_length=100) serializers.py class PostSerializer(serializers.ModelSerializer): class Meta: model = Post fields = ("text", "tag"??) views.py class PostViewSet(viewsets.ReadOnlyModelViewSet): queryset = Post.objects.all() serializer_class = PostSerializer

7
django-rest-frameworkシリアライザーを使用して外部キー値を取得する
djangoRESTフレームワークを使用してAPIを作成しています。私は次のモデルを持っています: class Category(models.Model): name = models.CharField(max_length=100) def __unicode__(self): return self.name class Item(models.Model): name = models.CharField(max_length=100) category = models.ForeignKey(Category, related_name='items') def __unicode__(self): return self.name 私が行うカテゴリのシリアライザーを作成するには: class CategorySerializer(serializers.ModelSerializer): items = serializers.RelatedField(many=True) class Meta: model = Category ...そしてこれは私に以下を提供します: [{'items': [u'Item 1', u'Item 2', u'Item 3'], u'id': 1, 'name': u'Cat 1'}, {'items': [u'Item 4', …

7
Python Django Rest Framework UnorderedObjectListWarning
Django 1.10.4から1.11.1にアップグレードしましたが、テストを実行すると突然、次のようなメッセージが大量に表示されます。 lib/python3.5/site-packages/rest_framework/pagination.py:208: UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <QuerySet [<Group: Requester>]> paginator = self.django_paginator_class(queryset, page_size) 私はそれをDjangoページネーションモジュールまでさかのぼりました:https: //github.com/django/django/blob/master/django/core/paginator.py#L100 それは私のクエリセットコードに関連しているようです: return get_user_model().objects.filter(id=self.request.user.id) この警告の詳細を確認するにはどうすればよいですか?order_by(id)すべてのフィルターの最後にを追加する必要があるようですが、order_byを追加する必要があるコードが見つからないようです(警告はスタックトレースを返さないため、テスト中にランダムに発生するため)実行)。 ありがとう! 編集: したがって、@ KlausDを使用します。冗長性のヒント、このエラーの原因となるテストを調べました。 response = self.client.get('/api/orders/') これはに行きますOrderViewSetが、get_querysetのいずれもそれを引き起こさず、シリアライザークラスの何もそれを引き起こしません。同じコードを使用して/ api / ordersを取得する他のテストがありますが、それらはそれを引き起こしません.... get_querysetの後にDRFは何をしますか? https://github.com/encode/django-rest-framework/blob/master/rest_framework/pagination.py#L166 ページネーションにトレースバックを入れると、django restフレームワークに関連するものがたくさんありますが、どのクエリが注文警告をトリガーしているかを示すものは何もありません。

1
Django REST Framework(DRF):TypeError:register()が予期しないキーワード引数 'base_name'を取得しました
djangorestframework==3.11.0古いバージョンからに更新しました。今、私はこのエラーを持っています、 TypeError:register()が予期しないキーワード引数 'base_name'を取得しました Traceback ... ... ... File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/abu/projects/django-example/django2x/urls.py", line 21, in <module> path('sample/', include('sample.urls')), File "/home/abu/.virtualenvs/django-example/lib/python3.6/site-packages/django/urls/conf.py", line 34, in include urlconf_module = import_module(urlconf_module) File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 994, in _gcd_import File "<frozen …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.