fix: stlog create时validate3
This commit is contained in:
parent
8375345e56
commit
acad9c6acf
|
@ -37,15 +37,17 @@ class StLogSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
current_sflog_id = validated_data.pop('current_sflog')
|
current_sflog_id = validated_data.pop('current_sflog')
|
||||||
current_note = validated_data.pop('note', '')
|
current_note = validated_data.pop('current_note', '')
|
||||||
with transaction.atomic():
|
with transaction.atomic():
|
||||||
validated_data['sflog'] = get_sflog(
|
sflog = get_sflog(
|
||||||
validated_data['mgroup'], validated_data['start_time'])
|
validated_data['mgroup'], validated_data['start_time'])
|
||||||
if current_sflog_id != validated_data['sflog'].id:
|
if current_sflog_id != sflog.id:
|
||||||
raise ParseError('值班时间与发生时间不一致')
|
raise ParseError('值班时间与发生时间不一致')
|
||||||
instance = super().create(validated_data)
|
instance = super().create(validated_data)
|
||||||
|
instance.sflog = sflog
|
||||||
|
instance.save()
|
||||||
SfLogExp.objects.create(
|
SfLogExp.objects.create(
|
||||||
sflog=current_sflog, stlog=instance, create_by=self.context['request'].user, note=current_note)
|
sflog=sflog, stlog=instance, create_by=self.context['request'].user, note=current_note)
|
||||||
return instance
|
return instance
|
||||||
|
|
||||||
def update(self, instance, validated_data):
|
def update(self, instance, validated_data):
|
||||||
|
|
Loading…
Reference in New Issue