-1
「を作成」を持っていないはAttributeError - オブジェクトは、属性私はジャンゴ・静止フレームワークを経由して、以下の属性を持つモデルを通じて保存しようとしている
POSTを送信するときに(私は新しいインスタンスを作成しようとしています)、私は次のエラーを取得する:私が間違ってやっているのよう
AttributeError at /api/organisation/provider/ 'EnabledExternalProvider' object has no attribute 'create'
任意のアイデア?
問題の貫通モデルは次のとおりです。
class EnabledExternalProvider(mixins.RetrieveModelMixin, mixins.UpdateModelMixin,generics.GenericAPIView):
serializer_class = ConnectedServiceSerializer
def get_queryset(self):
return EnabledExternalProvider.objects.filter(organisation=self.request.user.organisation_id)
def get_object(self):
queryset = self.filter_queryset(self.get_queryset())
# make sure to catch 404's below
obj = queryset.get(organisation=self.request.user.organisation_id)
self.check_object_permissions(self.request, obj)
return obj
def get(self, request, *args, **kwargs):
return self.retrieve(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
return self.create(request, *args, **kwargs)
と私のシリアライザは、次のとおりです:
class EnabledExternalProvider(models.Model):
provider = models.ForeignKey(ExternalProvider, related_name='associatedProvider')
organisation = models.ForeignKey(Organisation, related_name='associatedOrg')
enabled = models.BooleanField(default=True)
tenantIdentifier = models.CharField('Tenant identifer for organisation', max_length = 128, null=True, blank=True)
def __str__(self):
return self.provider + '-' + self.organisation
私の見解である私は、次を掲示しています
class ConnectedServiceSerializer(serializers.ModelSerializer):
provider=ExternalProviderSerializer(read_only=True)
organisation=OrganisationDetailSerializer(read_only=True)
class Meta:
model = EnabledExternalProvider
fields = ('organisation', 'enabled', 'tenantIdentifier')
read_only_fields = ('organisation', 'provider')
:
{"provider":"1","tenantIdentifier":"9f0e40fe-3d6d-4172-9015-4298684a9ad2","enabled":true}
ダニエルに感謝します。それはそれだった。私はViewSetsについても見ていきます。 – AndrewO