Copy attribute's DRF field kwargs before use (#36098)
Without it we get parameters from previous calls to Attribute.get_kind().
This commit is contained in:
parent
6a3a1c3ebe
commit
b7b0b93e7a
|
@ -181,7 +181,7 @@ class Attribute(models.Model):
|
|||
|
||||
kind = self.get_kind()
|
||||
field_class = kind['rest_framework_field_class']
|
||||
base_kwargs = kind.get('rest_framework_field_kwargs') or {}
|
||||
base_kwargs = (kind.get('rest_framework_field_kwargs') or {}).copy()
|
||||
base_kwargs.update({
|
||||
'source': 'attributes.%s' % self.name,
|
||||
'required': self.required,
|
||||
|
|
|
@ -1373,3 +1373,6 @@ def test_api_user_required_drf_attribute(settings, app, admin, simple_user):
|
|||
params=payload, headers=headers, status=400)
|
||||
assert resp.json['result'] == 0
|
||||
assert resp.json['errors'] == {'prefered_color': ["This field may not be blank."]}
|
||||
|
||||
Attribute.objects.filter(name='prefered_color').update(required=False)
|
||||
resp = app.put_json('/api/users/{}/'.format(simple_user.uuid), params=payload, headers=headers, status=200)
|
||||
|
|
Loading…
Reference in New Issue