DjangoのDRFで「AssertionError: Cannot set both ‘fields’ and ‘exclude’ options on serializer 〇〇」
今回はDjangoのDRFで「AssertionError: Cannot set both 'fields’ and 'exclude’ options on serializer 〇〇」というエラーが起きた時の対処法についてご紹介いたします。
DjangoのDRFで「AssertionError: Cannot set both 'fields’ and 'exclude’ options on serializer 〇〇」
このエラーが起きる原因としてはSerializerを使ったときにMetaにfieldsとexcludeの両方を使っていることが原因です。
エラー文の「〇〇」には自分で定義したserializer名が入ります。
1 2 3 4 5 6 |
class TestSerializer(serializers.ModelSerializer): class Meta: model = TestModel fields = '__all__' exclude = ('created_at', 'updated_at', ) |
上記の場合、fieldsに「__all__」を入れる意味がないので、excludeだけ残して
1 2 3 4 5 |
class TestSerializer(serializers.ModelSerializer): class Meta: model = TestModel exclude = ('created_at', 'updated_at', ) |
とすれば解決するでしょう。
終わりに
今回はDjangoのDRFで「AssertionError: Cannot set both 'fields’ and 'exclude’ options on serializer 〇〇」というエラーが起きた時の対処法についてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません