agendas: don't fail on unexpected M2M in import (#48421)
This commit is contained in:
parent
09780824e5
commit
b4b2801eba
|
@ -102,6 +102,11 @@ def clean_import_data(cls, data):
|
|||
except FieldDoesNotExist:
|
||||
# remove unknown fields
|
||||
cleaned_data.pop(param)
|
||||
continue
|
||||
if field.many_to_many:
|
||||
# remove many to many fields, they have to be managed after update_or_create
|
||||
cleaned_data.pop(param)
|
||||
continue
|
||||
if param == 'slug':
|
||||
value = cleaned_data[param]
|
||||
try:
|
||||
|
|
|
@ -402,7 +402,7 @@ def test_import_export_desk_missing_fields(app):
|
|||
assert TimePeriodException.objects.exists() is False
|
||||
|
||||
|
||||
def test_import_export_desk_unknown_fields(app):
|
||||
def test_import_export_unknown_fields(app):
|
||||
events_agenda = Agenda.objects.create(label='Events Agenda', kind='events')
|
||||
Event.objects.create(agenda=events_agenda, start_datetime=now(), places=10)
|
||||
meetings_agenda = Agenda.objects.create(label='Meetings Agenda', kind='meetings')
|
||||
|
@ -431,6 +431,7 @@ def test_import_export_desk_unknown_fields(app):
|
|||
# add unknown fields everywhere
|
||||
payload['agendas'][0]['unknown_field'] = 'foobar'
|
||||
payload['agendas'][0]['events'][0]['unknown_field'] = 'foobar'
|
||||
payload['agendas'][0]['real_agendas'] = ['foobar'] # not available for a non virtual agenda
|
||||
payload['agendas'][1]['unknown_field'] = 'foobar'
|
||||
payload['agendas'][1]['meetingtypes'][0]['unknown_field'] = 'foobar'
|
||||
payload['agendas'][1]['desks'][0]['unknown_field'] = 'foobar'
|
||||
|
|
Loading…
Reference in New Issue