Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

unique=True validation not working with models.CharField with choices #5004

Closed
Labels
Milestone
@Ekluv

Description

@Ekluv

Checklist

  • I have verified that that issue exists against themaster branch of Django REST framework.
  • I have searched for similar issues in both open and closed tickets and cannot find a duplicate.
  • This is not a usage question. (Those should be directed to thediscussion group instead.)
  • This cannot be dealt with as a third party library. (We prefer new functionality to bein the form of third party libraries where possible.)
  • I have reduced the issue to the simplest possible case.
  • I have included a failing test as a pull request. (If you are unable to do so we can still accept the issue.)

Steps to reproduce

Lets take a model

MY_CHOICES= (    ('choice1',_('choice 1')),    ('choice2',_('choice 1')),)classPoll(models.Model):form_name=models.CharField('name',max_length=254,unique=True,choices=MY_CHOICES)classPollSerializer(serializers.ModelSerializer):classMeta:model=Pollfields='__all__'classPollCreateView(generics.CreateAPIView):serializer_class=PollSerializer

Then making a POST request with{"form_name": "choice1"} first time returns{ "id": 1, "form_name": "choice1" }

then by making same request again with data{"form_name": "choice1"} instead of giving valid error response, django's IntegrityError exception is thrown.

This behaviour is only coming if models.CharField is used with choices and unique=True and not when models.CharField is used without choices

Expected behavior

Valid error response should be returned instead of throwing django's IntegrityError exception
like{ "form_name": [ "poll with this name already exists." ] }

Actual behavior

Throwing django's IntegrityError exception when models.CharField is used with choices and unique=True

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


      [8]ページ先頭

      ©2009-2025 Movatter.jp