def validate_molecules(self, value):
if not value:
raise serializers.ValidationError(_('You must specify at least 1 molecule'))
# Set the relative priority of molecules in order
for i, molecule in enumerate(value):
molecule['priority'] = i + 1
# Make sure each molecule has the same instrument name
if len(set(molecule['instrument_name'] for molecule in value)) > 1:
raise serializers.ValidationError(_('Each Molecule must specify the same instrument name'))
if sum([mol.get('fill_window', False) for mol in value]) > 1:
raise serializers.ValidationError(_('Only one molecule can have `fill_window` set'))
return value
评论列表
文章目录