def METHOD_NAME(
    self, instance: models.Order, validated_data: dict, context: dict
) -> models.Order:
    changes = []
    data = validated_data.copy()
    for key, val in data.items():
        if key in models.Order.DIRECT_PROPS:
            setattr(instance, key, val)
            changes.append(key)
            validated_data.pop(key)
    status = compute_order_status(instance)
    if status != instance.status:
        instance.status = status
        changes.append("status")
    instance.save(update_fields=changes)
    return instance