def _save_to_answer(self, field, answer, value):
action = 'pretalx.submission.answer' + ('update' if answer.pk else 'create')
if isinstance(field, forms.ModelMultipleChoiceField):
answstr = ', '.join([str(o) for o in value])
if not answer.pk:
answer.save()
else:
answer.options.clear()
answer.answer = answstr
answer.options.add(*value)
elif isinstance(field, forms.ModelChoiceField):
if not answer.pk:
answer.save()
else:
answer.options.clear()
answer.options.add(value)
answer.answer = value.answer
elif isinstance(field, forms.FileField):
if isinstance(value, UploadedFile):
answer.answer_file.save(value.name, value)
answer.answer = 'file://' + value.name
value = answer.answer
else:
answer.answer = value
answer.log_action(action, person=self.request_user, data={'answer': value})
评论列表
文章目录