-
-
Notifications
You must be signed in to change notification settings - Fork 7k
Closed
Labels
Description
Checklist
- I have verified that that issue exists against the
master
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 the discussion group instead.)
- This cannot be dealt with as a third party library. (We prefer new functionality to be in 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
- def model with unique_together attr
class Category(models.Model):
name = models.CharField(max_length=20, verbose_name=_('name'))
parent = models.ForeignKey('self', related_name='children', verbose_name=_('name'))
class Meta:
unique_together = ('name', 'parent',)
and create ModelViewSet for the model
2. create category(name='a', parent=1)
3. call create request with data (name='a', parent=1)
Expected behavior
Since I have set USE_I18N = True
and USE_L10N = True
, and added locale/xxx/django.po correctly.
I expect a error message well translated.
Actual behavior
fields with verbose_name are not translated.
As below
I've inspsected the DRF code, there are not any logic dealing with verbose_name in UniqueTogetherValidator.
Currently it just get field name of serializer field and return it to error_message of UniqueTogetherValidator.
As blow
https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/validators.py#L149
Is this by purpose or by mistake?
I can try to make a PR with test case and fix if it is needed.